From b5c50beece6b3fbc2c77c32a2e5a15c3d0d687ac Mon Sep 17 00:00:00 2001 From: Bennert de Wijs Date: Mon, 3 Aug 2026 18:26:14 +0200 Subject: [PATCH 1/2] Fix script parser confirmer interaction handling --- .../Assemblies/DVTk/Sessions/ScriptSession.cs | 66 +- .../ConfirmInteractionAdapter.cpp | 16 +- .../ConfirmInteractionAdapter.h | 8 +- DVTk_Library/Libraries/Log/base_confirmer.h | 3 +- .../Libraries/Scripting/script_parser.y | 21 +- DVTk_Library/Libraries/Scripting/y.output | 4068 +++++++++-------- .../ConfirmInteractionAdapter.cpp | 12 +- .../ConfirmInteractionAdapter.h | 4 +- .../Assemblies/DVTk/Sessions/ScriptSession.cs | 70 +- .../Source/Libraries/Log/base_confirmer.h | 3 +- .../Libraries/Scripting/script1_parser.cpp | 29 +- .../Libraries/Scripting/script2_parser.cpp | 29 +- .../Libraries/Scripting/script3_parser.cpp | 29 +- .../Libraries/Scripting/script4_parser.cpp | 29 +- .../Libraries/Scripting/script_parser.cpp | 29 +- .../Libraries/Scripting/script_parser.y | 21 +- 16 files changed, 2354 insertions(+), 2083 deletions(-) diff --git a/DVTk_Library/Assemblies/DVTk/Sessions/ScriptSession.cs b/DVTk_Library/Assemblies/DVTk/Sessions/ScriptSession.cs index 364e0d6..657c9f5 100644 --- a/DVTk_Library/Assemblies/DVTk/Sessions/ScriptSession.cs +++ b/DVTk_Library/Assemblies/DVTk/Sessions/ScriptSession.cs @@ -1,6 +1,6 @@ -// ------------------------------------------------------ +// ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright © 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -473,7 +473,7 @@ public interface IScriptExecution /// - e.g., DICOMScript that makes an Association for CT Image Storage. /// It is possible to repeat the DICOMScript execution a number of times using the

/// DO n dicomscript

- /// instruction where ‘n’ is the number of times that dicomscript is to be executed. + /// instruction where ‘n’ is the number of times that dicomscript is to be executed. ///

/// /// Script File of type DICOMScript (.DS) / DICOMSuperScript (.DSS) @@ -510,7 +510,7 @@ public interface IScriptExecution System.Boolean TerminateConnection(); /// /// Reset the state of the DULP Finite State Machine - /// (to allow new Associations – Presentation Context ID is reset to 1). + /// (to allow new Associations – Presentation Context ID is reset to 1). /// void ResetAssociation(); /// @@ -683,8 +683,8 @@ public SendReturnCode Send(DicomMessage dicomMessage) /// /// - /// With the new UPS SOP classes (Unified Procedure Step – Push SOP Class, Unified Procedure Step – - /// Watch SOP Class, Unified Procedure Step – Pull SOP Class, Unified Procedure Step – Event SOP Class), + /// With the new UPS SOP classes (Unified Procedure Step – Push SOP Class, Unified Procedure Step – + /// Watch SOP Class, Unified Procedure Step – Pull SOP Class, Unified Procedure Step – Event SOP Class), /// fully specified in frozen supplement 96, it is now possible to send a DICOM message with an affected /// or requested SOP Class UID attribute that is different from the abstract syntax UID in an accepted /// presentation context. @@ -1358,11 +1358,38 @@ static public void ConfirmInteractionAuto() /// Results in a windows messagebox towards the user. /// /// - /// The user needs to click the messagebox to continue the application. + /// The user can confirm to continue or reject to fail the current step. /// static public void ConfirmInteractionForms() { - System.Windows.Forms.MessageBox.Show("Click to continue."); + ConfirmInteractionForms("Continue this script step?"); + } + + /// + /// Stub callback implementation for . + /// Results in a windows messagebox towards the user with a custom tester check instruction. + /// + /// Instruction describing what the tester should verify. + static public void ConfirmInteractionForms(string testerCheckInstruction) + { + if (string.IsNullOrEmpty(testerCheckInstruction)) { + testerCheckInstruction = "Continue this script step?"; + } + + System.Windows.Forms.DialogResult result = System.Windows.Forms.MessageBox.Show( + testerCheckInstruction, + "Confirm Step", + System.Windows.Forms.MessageBoxButtons.YesNo, + System.Windows.Forms.MessageBoxIcon.Question, + System.Windows.Forms.MessageBoxDefaultButton.Button1); + + if (result == System.Windows.Forms.DialogResult.No) { + throw new System.ApplicationException( + string.Format( + "Step rejected by tester input. Check: {0}", + testerCheckInstruction)); + } + return; } /*delegated implementation*/ @@ -1443,10 +1470,27 @@ internal Confirmer(ScriptSession scriptSession) #region Wrappers.IConfirmInteractionTarget public void ConfirmInteraction() { - // Call the delegate - this.m_parentSession.ConfirmInteraction(); + try { + // Call the delegate. + this.m_parentSession.ConfirmInteraction(); + } + catch (System.Exception ex) { + // Mark the step as failed, but keep the application running. + this.m_parentSession.WriteValidationError(ex.Message); + } + } + + public void ConfirmInteraction(string checkText) + { + try { + ScriptSession.ConfirmInteractionForms(checkText); + } + catch (System.Exception ex) { + // Mark the step as failed, but keep the application running. + this.m_parentSession.WriteValidationError(ex.Message); + } } #endregion } -} \ No newline at end of file +} diff --git a/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.cpp b/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.cpp index 81a9322..f2ca93d 100644 --- a/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.cpp +++ b/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.cpp @@ -1,6 +1,6 @@ -// ------------------------------------------------------ +// ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright � 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -35,5 +35,13 @@ namespace Wrappers { // Translation from unmanaged -> managed CLR m_pConfirmInteractionTarget->ConfirmInteraction(); - } -} \ No newline at end of file + } + + void ConfirmInteractionAdapter::ConfirmInteraction(const char *checkText) + { + System::String^ managedText = (checkText != nullptr) ? gcnew System::String(checkText) : System::String::Empty; + + // Translation from unmanaged -> managed CLR + m_pConfirmInteractionTarget->ConfirmInteraction(managedText); + } +} diff --git a/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.h b/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.h index 195ec9b..dc9f8b2 100644 --- a/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.h +++ b/DVTk_Library/Assemblies/DVTkManagedCodeAdapter/ConfirmInteractionAdapter.h @@ -1,6 +1,6 @@ -// ------------------------------------------------------ +// ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright � 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -27,6 +27,7 @@ namespace Wrappers public interface class IConfirmInteractionTarget { void ConfirmInteraction(); + void ConfirmInteraction(System::String^ checkText); }; class ConfirmInteractionAdapter @@ -39,8 +40,9 @@ namespace Wrappers ~ConfirmInteractionAdapter(void); void ConfirmInteraction(); + void ConfirmInteraction(const char *checkText); private: gcroot m_pConfirmInteractionTarget; }; -} \ No newline at end of file +} diff --git a/DVTk_Library/Libraries/Log/base_confirmer.h b/DVTk_Library/Libraries/Log/base_confirmer.h index 52650e0..7207a94 100644 --- a/DVTk_Library/Libraries/Log/base_confirmer.h +++ b/DVTk_Library/Libraries/Log/base_confirmer.h @@ -1,6 +1,6 @@ // ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright � 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -42,6 +42,7 @@ class BASE_CONFIRMER { public: virtual void ConfirmInteraction() = 0; + virtual void ConfirmInteraction(const char *checkText) = 0; public: ~BASE_CONFIRMER(); }; diff --git a/DVTk_Library/Libraries/Scripting/script_parser.y b/DVTk_Library/Libraries/Scripting/script_parser.y index 3dcf3b4..4c6d57d 100644 --- a/DVTk_Library/Libraries/Scripting/script_parser.y +++ b/DVTk_Library/Libraries/Scripting/script_parser.y @@ -1,6 +1,6 @@ %{ // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. //***************************************************************************** @@ -428,6 +428,25 @@ ConfirmCommand : T_CONFIRM } } } + | T_CONFIRM STRING + { + if (!scriptParseOnly) + { + LOG_CLASS *logger_ptr = scriptSession_ptr->getLogger(); + BASE_CONFIRMER *confirmer_ptr = scriptSession_ptr->getConfirmer(); + + // ask user to confirm action through interaction with logger and confirmer + if ((logger_ptr) && + (confirmer_ptr)) + { + logger_ptr->text(LOG_SCRIPT, 2, "CONFIRM \"%s\"", $2); + confirmer_ptr->ConfirmInteraction($2); + } + } + + // free malloced string buffer + free($2); + } ; CopyCommand : T_COPY ObjectRef1 TagRef1 ObjectRef2 TagRef2 diff --git a/DVTk_Library/Libraries/Scripting/y.output b/DVTk_Library/Libraries/Scripting/y.output index a9c3196..dea0b66 100644 --- a/DVTk_Library/Libraries/Scripting/y.output +++ b/DVTk_Library/Libraries/Scripting/y.output @@ -42,388 +42,389 @@ rule 38 ResetCommand -> T_RESET T_EXECUTION_CONTEXT rule 39 CompareCommand -> T_COMPARE ObjectRef1 TagRef1 ObjectRef2 TagRef2 rule 40 CompareCommand -> T_COMPARE_NOT ObjectRef1 TagRef1 ObjectRef2 TagRef2 rule 41 ConfirmCommand -> T_CONFIRM -rule 42 CopyCommand -> T_COPY ObjectRef1 TagRef1 ObjectRef2 TagRef2 -rule 43 CreateCommand -> T_CREATE CreateList -rule 44 DelayCommand -> T_DELAY INTEGER -rule 45 DeleteCommand -> T_DELETE DeleteList -rule 46 DisplayCommand -> DisplayTagList -rule 47 DisplayCommand -> T_DISPLAY ObjectRef1 -rule 48 DisplayCommand -> T_DISPLAY T_WAREHOUSE -rule 49 EchoCommand -> T_ECHO STRING -rule 50 ExportCommand -> T_EXPORT ExportList -rule 51 ExportList -> ExportAcseObject -rule 52 ExportList -> ExportDimseObjects -rule 53 ExportAcseObject -> AssociateRq -rule 54 ExportAcseObject -> AssociateAc -rule 55 ExportAcseObject -> AssociateRj -rule 56 ExportAcseObject -> ReleaseRq -rule 57 ExportAcseObject -> ReleaseRp -rule 58 ExportAcseObject -> AbortRq -rule 59 ExportDimseObjects -> DimseCmd CommandIdentifier -rule 60 ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier -rule 61 ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX PresentationContextId -rule 62 ImportCommand -> T_IMPORT ImportList -rule 63 ImportList -> DimseCmd CommandIdentifier -rule 64 ImportList -> DimseCmd CommandIdentifier IomIod DatasetIdentifier -rule 65 PopulateCommand -> T_POPULATE T_ON -rule 66 PopulateCommand -> T_POPULATE T_OFF -rule 67 ReadCommand -> T_READ ReadList -rule 68 ReceiveCommand -> T_RECEIVE ReceiveList -rule 69 RoleCommand -> T_ROLE USERPROVIDER -rule 70 SendCommand -> T_SEND SendList -rule 71 SetCommand -> T_SET SetList -rule 72 SystemCommand -> T_SYSTEM STRING -rule 73 TimeCommand -> T_TIME -rule 74 ValidateCommand -> T_VALIDATE ValidateList -rule 75 VerboseCommand -> T_VERBOSE T_ON -rule 76 VerboseCommand -> T_VERBOSE T_OFF -rule 77 WriteCommand -> T_WRITE WriteList -rule 78 ApplicationEntityFlagCommand -> T_APPL_ENTITY STRING STRING -rule 79 ValidationFlagCommand -> T_VALIDATION VALIDATIONFLAG -rule 80 DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_ON -rule 81 DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_OFF -rule 82 AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_ON -rule 83 AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_OFF -rule 84 StrictValidationFlagCommand -> T_STRICT T_ON -rule 85 StrictValidationFlagCommand -> T_STRICT T_OFF -rule 86 CreateList -> Acse -rule 87 CreateList -> Sop -rule 88 CreateList -> Dataset -rule 89 CreateList -> Dataset T_DEFINED_LENGTH -rule 90 CreateList -> SequenceRef Dataset -rule 91 CreateList -> Filehead -rule 92 CreateList -> Filetail -rule 93 DeleteList -> Acse -rule 94 DeleteList -> Command -rule 95 DeleteList -> Dataset -rule 96 DeleteList -> T_FILEHEAD -rule 97 DeleteList -> T_FILETAIL -rule 98 DisplayTagList -> T_DISPLAY ObjectRef1 TagRef -rule 99 DisplayTagList -> DisplayTagList TagRef -rule 100 ReadList -> STRING Dataset -rule 101 ReadList -> STRING HEXADECIMAL -rule 102 ReceiveList -> AcseContents -rule 103 ReceiveList -> SopList -rule 104 SendList -> AcseContents -rule 105 SendList -> SopContents -rule 106 SendList -> SopContents T_PRES_CTX PresentationContextId -rule 107 PresentationContextId -> T_OPEN_BRACKET HEXADECIMAL T_CLOSE_BRACKET -rule 108 PresentationContextId -> T_OPEN_BRACKET INTEGER T_CLOSE_BRACKET -rule 109 SetList -> AcseContents -rule 110 SetList -> CommandContents -rule 111 SetList -> DatasetContents -rule 112 SetList -> FileheadContents -rule 113 SetList -> FiletailContents -rule 114 ValidateList -> SourceSopRef ReferenceSopList -rule 115 SourceSopRef -> DimseCmd CommandIdentifier -rule 116 SourceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier -rule 117 ReferenceSopList -> /* empty */ -rule 118 ReferenceSopList -> ReferenceSopRef -rule 119 ReferenceSopList -> ReferenceSopList T_OR ReferenceSopRef -rule 120 ReferenceSopRef -> DimseCmd CommandIdentifier -rule 121 ReferenceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier -rule 122 SopList -> /* empty */ -rule 123 SopList -> SopContents -rule 124 SopList -> SopList T_OR SopContents -rule 125 SopList -> SopList T_AND SopContents -rule 126 WriteList -> STRING T_FILEHEAD -rule 127 WriteList -> STRING T_FILETAIL -rule 128 WriteList -> STRING Dataset -rule 129 Acse -> AssociateRq -rule 130 Acse -> AssociateAc -rule 131 Acse -> AssociateRj -rule 132 Acse -> ReleaseRq -rule 133 Acse -> ReleaseRp -rule 134 Acse -> AbortRq -rule 135 AcseContents -> AssociateRqContents -rule 136 AcseContents -> AssociateAcContents -rule 137 AcseContents -> AssociateRjContents -rule 138 AcseContents -> ReleaseRqContents -rule 139 AcseContents -> ReleaseRpContents -rule 140 AcseContents -> AbortRqContents -rule 141 AssociateRqContents -> AssociateRq -rule 142 AssociateRqContents -> AssociateRq T_OPEN_BRACKET AssociateRqParameterList T_CLOSE_BRACKET -rule 143 AssociateRqParameterList -> AssociateRqParameter -rule 144 AssociateRqParameterList -> AssociateRqParameterList AssociateRqParameter -rule 145 AssociateRqParameter -> T_PROT_VER INTEGER -rule 146 AssociateRqParameter -> T_CALLED_AE STRING -rule 147 AssociateRqParameter -> T_CALLING_AE STRING -rule 148 AssociateRqParameter -> T_APPL_CTX STRING -rule 149 AssociateRqParameter -> T_PRES_CTX AssociateRqPresCtxList -rule 150 AssociateRqParameter -> T_MAX_LEN INTEGER -rule 151 AssociateRqParameter -> T_IMPL_CLASS STRING -rule 152 AssociateRqParameter -> T_IMPL_VER STRING -rule 153 AssociateRqParameter -> T_SOP_EXTEND_NEG SopClassExtendedList -rule 154 AssociateRqParameter -> T_SCPSCU_ROLE ScpScuRoleList -rule 155 AssociateRqParameter -> T_ASYNC_WINDOW INTEGER INTEGER -rule 156 AssociateRqParameter -> T_USER_ID_NEG UserIdentityNegotiation -rule 157 AssociateRqPresCtxList -> AssociateRqPresCtx -rule 158 AssociateRqPresCtxList -> AssociateRqPresCtxList AssociateRqPresCtx -rule 159 AssociateRqPresCtxList -> AssociateRqPresCtxList ',' AssociateRqPresCtx -rule 160 AssociateRqPresCtx -> RqPresCtx -rule 161 AssociateRqPresCtx -> VtsRqPresCtx -rule 162 RqPresCtx -> T_OPEN_BRACKET STRING ',' RqTransferSyntaxList T_CLOSE_BRACKET -rule 163 VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET -rule 164 RqTransferSyntaxList -> TransferSyntax -rule 165 RqTransferSyntaxList -> RqTransferSyntaxList ',' TransferSyntax -rule 166 TransferSyntax -> STRING -rule 167 SopClassExtendedList -> SopClassExtended -rule 168 SopClassExtendedList -> SopClassExtendedList SopClassExtended -rule 169 SopClassExtended -> T_OPEN_BRACKET STRING ',' ApplicationInfoList T_CLOSE_BRACKET -rule 170 ApplicationInfoList -> ApplicationInfoByte -rule 171 ApplicationInfoList -> ApplicationInfoList ',' ApplicationInfoByte -rule 172 ApplicationInfoByte -> INTEGER -rule 173 ScpScuRoleList -> ScpScuRole -rule 174 ScpScuRoleList -> ScpScuRoleList ScpScuRole -rule 175 ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' INTEGER T_CLOSE_BRACKET -rule 176 UserIdentityNegotiation -> INTEGER INTEGER STRING -rule 177 UserIdentityNegotiation -> INTEGER INTEGER STRING STRING -rule 178 UserIdentityNegotiation -> STRING -rule 179 AssociateAcContents -> AssociateAc -rule 180 AssociateAcContents -> AssociateAc T_OPEN_BRACKET AssociateAcParameterList T_CLOSE_BRACKET -rule 181 AssociateAcParameterList -> AssociateAcParameter -rule 182 AssociateAcParameterList -> AssociateAcParameterList AssociateAcParameter -rule 183 AssociateAcParameter -> T_PROT_VER INTEGER -rule 184 AssociateAcParameter -> T_CALLED_AE STRING -rule 185 AssociateAcParameter -> T_CALLING_AE STRING -rule 186 AssociateAcParameter -> T_APPL_CTX STRING -rule 187 AssociateAcParameter -> T_PRES_CTX AssociateAcPresCtxList -rule 188 AssociateAcParameter -> T_MAX_LEN INTEGER -rule 189 AssociateAcParameter -> T_IMPL_CLASS STRING -rule 190 AssociateAcParameter -> T_IMPL_VER STRING -rule 191 AssociateAcParameter -> T_SOP_EXTEND_NEG SopClassExtendedList -rule 192 AssociateAcParameter -> T_SCPSCU_ROLE ScpScuRoleList -rule 193 AssociateAcParameter -> T_ASYNC_WINDOW INTEGER INTEGER -rule 194 AssociateAcPresCtxList -> AssociateAcPresCtx -rule 195 AssociateAcPresCtxList -> AssociateAcPresCtxList AssociateAcPresCtx -rule 196 AssociateAcPresCtxList -> AssociateAcPresCtxList ',' AssociateAcPresCtx -rule 197 AssociateAcPresCtx -> AcPresCtx -rule 198 AssociateAcPresCtx -> VtsAcPresCtx -rule 199 AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET -rule 200 AcTransferSyntax -> /* empty */ -rule 201 AcTransferSyntax -> ',' TransferSyntax -rule 202 VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET -rule 203 MoreAcPresentationContext -> /* empty */ -rule 204 MoreAcPresentationContext -> ',' INTEGER ',' INTEGER ',' TransferSyntax -rule 205 AssociateRjContents -> AssociateRj -rule 206 AssociateRjContents -> AssociateRj T_OPEN_BRACKET AssociateRjParameterList T_CLOSE_BRACKET -rule 207 AssociateRjParameterList -> AssociateRjParameter -rule 208 AssociateRjParameterList -> AssociateRjParameterList AssociateRjParameter -rule 209 AssociateRjParameter -> T_RESULT INTEGER -rule 210 AssociateRjParameter -> T_SOURCE INTEGER -rule 211 AssociateRjParameter -> T_REASON INTEGER -rule 212 ReleaseRqContents -> ReleaseRq -rule 213 ReleaseRpContents -> ReleaseRp -rule 214 AbortRqContents -> AbortRq -rule 215 AbortRqContents -> AbortRq T_OPEN_BRACKET AbortRqParameterList T_CLOSE_BRACKET -rule 216 AbortRqParameterList -> AbortRqParameter -rule 217 AbortRqParameterList -> AbortRqParameterList AbortRqParameter -rule 218 AbortRqParameter -> T_SOURCE INTEGER -rule 219 AbortRqParameter -> T_REASON INTEGER -rule 220 AssociateRq -> T_ASSOCIATE_RQ -rule 221 AssociateAc -> T_ASSOCIATE_AC -rule 222 AssociateRj -> T_ASSOCIATE_RJ -rule 223 ReleaseRq -> T_RELEASE_RQ -rule 224 ReleaseRp -> T_RELEASE_RP -rule 225 AbortRq -> T_ABORT_RQ -rule 226 Sop -> Command -rule 227 Sop -> Command Dataset -rule 228 SopContents -> CommandContents -rule 229 SopContents -> Command DatasetContents -rule 230 CommandContents -> Command -rule 231 CommandContents -> CommandRef T_OPEN_BRACKET T_CLOSE_BRACKET -rule 232 CommandContents -> CommandRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET -rule 233 Command -> DimseCmd -rule 234 Command -> DimseCmd CommandIdentifier -rule 235 DimseCmd -> COMMANDFIELD -rule 236 CommandIdentifier -> IDENTIFIER -rule 237 CommandRef -> Command -rule 238 DatasetContents -> Dataset -rule 239 DatasetContents -> DatasetRef T_OPEN_BRACKET T_CLOSE_BRACKET -rule 240 DatasetContents -> DatasetRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET -rule 241 DatasetRef -> Dataset -rule 242 Dataset -> IomIod -rule 243 Dataset -> IomIod DatasetIdentifier -rule 244 IomIod -> IodName -rule 245 IomIod -> IomLevel IodName -rule 246 IomLevel -> IOMLEVEL -rule 247 IodName -> STRING -rule 248 DatasetIdentifier -> IDENTIFIER -rule 249 DatasetIdentifier -> STRING -rule 250 AttributeList -> Attribute -rule 251 AttributeList -> AttributeList Attribute -rule 252 Attribute -> T_OPEN_BRACKET AttributeIdentification ',' AttributeValue T_CLOSE_BRACKET -rule 253 Attribute -> T_OPEN_BRACKET TagRef T_CLOSE_BRACKET -rule 254 AttributeIdentification -> AttributeTag -rule 255 AttributeTag -> HEXADECIMAL -rule 256 AttributeValue -> SequenceValue -rule 257 AttributeValue -> OtherValue -rule 258 SequenceValue -> SequenceVR ',' ItemList -rule 259 SequenceVR -> T_SQ -rule 260 SequenceVR -> '[' T_SQ ']' -rule 261 ItemList -> ItemByReferenceList -rule 262 ItemList -> ItemByValueList -rule 263 ItemByReferenceList -> ItemByReference -rule 264 ItemByReferenceList -> ItemByReferenceList ',' ItemByReference -rule 265 ItemByReference -> STRING -rule 266 ItemByValueList -> ItemByValue -rule 267 ItemByValueList -> ItemByValueList ',' ItemByValue -rule 268 ItemByValue -> /* empty */ -rule 269 ItemByValue -> ItemAttributeList -rule 270 ItemAttributeList -> ItemAttribute -rule 271 ItemAttributeList -> ItemAttributeList ItemAttribute -rule 272 ItemAttribute -> '>' Attribute -rule 273 OtherValue -> OptionalVR Values -rule 274 OptionalVR -> /* empty */ -rule 275 OptionalVR -> AttributeVR ',' -rule 276 AttributeVR -> VR -rule 277 AttributeVR -> '[' VR ']' -rule 278 AttributeVR -> T_OPEN_BRACKET VR T_CLOSE_BRACKET -rule 279 AttributeVR -> T_OPEN_BRACKET '[' VR ']' T_CLOSE_BRACKET -rule 280 AttributeVR -> T_OPEN_BRACKET VR '?' T_CLOSE_BRACKET -rule 281 AttributeVR -> T_OPEN_BRACKET '[' VR ']' '?' T_CLOSE_BRACKET -rule 282 Values -> /* empty */ -rule 283 Values -> VMList -rule 284 VMList -> Value -rule 285 VMList -> VMList ',' Value -rule 286 Value -> STRING -rule 287 Value -> HEXADECIMAL -rule 288 Value -> INTEGER -rule 289 Value -> T_AUTOSET -rule 290 TagRef1 -> TagRef -rule 291 TagRef2 -> TagRef -rule 292 TagRef -> AttributeTag -rule 293 TagRef -> STRING -rule 294 ObjectRef1 -> Command -rule 295 ObjectRef1 -> Dataset -rule 296 ObjectRef2 -> Command -rule 297 ObjectRef2 -> Dataset -rule 298 SequenceRef -> T_OPEN_BRACKET Dataset TagRef ItemNumber T_CLOSE_BRACKET -rule 299 SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef ItemNumber T_CLOSE_BRACKET -rule 300 ItemNumber -> /* empty */ -rule 301 ItemNumber -> '[' INTEGER ']' -rule 302 FileheadContents -> Filehead -rule 303 FileheadContents -> Filehead T_OPEN_BRACKET FileheadParameterList T_CLOSE_BRACKET -rule 304 Filehead -> T_FILEHEAD -rule 305 FileheadParameterList -> FileheadParameter -rule 306 FileheadParameterList -> FileheadParameterList FileheadParameter -rule 307 FileheadParameter -> FilePreamble -rule 308 FileheadParameter -> DicomPrefix -rule 309 FileheadParameter -> FileTransferSyntax -rule 310 FilePreamble -> T_FILE_PREAMBLE STRING -rule 311 DicomPrefix -> T_DICOM_PREFIX STRING -rule 312 FileTransferSyntax -> T_TRANSFER_SYNTAX TransferSyntax -rule 313 FiletailContents -> Filetail -rule 314 FiletailContents -> Filetail T_OPEN_BRACKET FiletailParameterList T_CLOSE_BRACKET -rule 315 Filetail -> T_FILETAIL -rule 316 FiletailParameterList -> FiletailParameter -rule 317 FiletailParameterList -> FiletailParameterList FiletailParameter -rule 318 FiletailParameter -> DatasetTrailingPadding -rule 319 FiletailParameter -> SectorSize -rule 320 FiletailParameter -> PaddingValue -rule 321 DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_YES -rule 322 DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_NO -rule 323 SectorSize -> T_SECTOR_SIZE INTEGER -rule 324 PaddingValue -> T_PADDING_VALUE INTEGER +rule 42 ConfirmCommand -> T_CONFIRM STRING +rule 43 CopyCommand -> T_COPY ObjectRef1 TagRef1 ObjectRef2 TagRef2 +rule 44 CreateCommand -> T_CREATE CreateList +rule 45 DelayCommand -> T_DELAY INTEGER +rule 46 DeleteCommand -> T_DELETE DeleteList +rule 47 DisplayCommand -> DisplayTagList +rule 48 DisplayCommand -> T_DISPLAY ObjectRef1 +rule 49 DisplayCommand -> T_DISPLAY T_WAREHOUSE +rule 50 EchoCommand -> T_ECHO STRING +rule 51 ExportCommand -> T_EXPORT ExportList +rule 52 ExportList -> ExportAcseObject +rule 53 ExportList -> ExportDimseObjects +rule 54 ExportAcseObject -> AssociateRq +rule 55 ExportAcseObject -> AssociateAc +rule 56 ExportAcseObject -> AssociateRj +rule 57 ExportAcseObject -> ReleaseRq +rule 58 ExportAcseObject -> ReleaseRp +rule 59 ExportAcseObject -> AbortRq +rule 60 ExportDimseObjects -> DimseCmd CommandIdentifier +rule 61 ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier +rule 62 ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX PresentationContextId +rule 63 ImportCommand -> T_IMPORT ImportList +rule 64 ImportList -> DimseCmd CommandIdentifier +rule 65 ImportList -> DimseCmd CommandIdentifier IomIod DatasetIdentifier +rule 66 PopulateCommand -> T_POPULATE T_ON +rule 67 PopulateCommand -> T_POPULATE T_OFF +rule 68 ReadCommand -> T_READ ReadList +rule 69 ReceiveCommand -> T_RECEIVE ReceiveList +rule 70 RoleCommand -> T_ROLE USERPROVIDER +rule 71 SendCommand -> T_SEND SendList +rule 72 SetCommand -> T_SET SetList +rule 73 SystemCommand -> T_SYSTEM STRING +rule 74 TimeCommand -> T_TIME +rule 75 ValidateCommand -> T_VALIDATE ValidateList +rule 76 VerboseCommand -> T_VERBOSE T_ON +rule 77 VerboseCommand -> T_VERBOSE T_OFF +rule 78 WriteCommand -> T_WRITE WriteList +rule 79 ApplicationEntityFlagCommand -> T_APPL_ENTITY STRING STRING +rule 80 ValidationFlagCommand -> T_VALIDATION VALIDATIONFLAG +rule 81 DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_ON +rule 82 DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_OFF +rule 83 AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_ON +rule 84 AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_OFF +rule 85 StrictValidationFlagCommand -> T_STRICT T_ON +rule 86 StrictValidationFlagCommand -> T_STRICT T_OFF +rule 87 CreateList -> Acse +rule 88 CreateList -> Sop +rule 89 CreateList -> Dataset +rule 90 CreateList -> Dataset T_DEFINED_LENGTH +rule 91 CreateList -> SequenceRef Dataset +rule 92 CreateList -> Filehead +rule 93 CreateList -> Filetail +rule 94 DeleteList -> Acse +rule 95 DeleteList -> Command +rule 96 DeleteList -> Dataset +rule 97 DeleteList -> T_FILEHEAD +rule 98 DeleteList -> T_FILETAIL +rule 99 DisplayTagList -> T_DISPLAY ObjectRef1 TagRef +rule 100 DisplayTagList -> DisplayTagList TagRef +rule 101 ReadList -> STRING Dataset +rule 102 ReadList -> STRING HEXADECIMAL +rule 103 ReceiveList -> AcseContents +rule 104 ReceiveList -> SopList +rule 105 SendList -> AcseContents +rule 106 SendList -> SopContents +rule 107 SendList -> SopContents T_PRES_CTX PresentationContextId +rule 108 PresentationContextId -> T_OPEN_BRACKET HEXADECIMAL T_CLOSE_BRACKET +rule 109 PresentationContextId -> T_OPEN_BRACKET INTEGER T_CLOSE_BRACKET +rule 110 SetList -> AcseContents +rule 111 SetList -> CommandContents +rule 112 SetList -> DatasetContents +rule 113 SetList -> FileheadContents +rule 114 SetList -> FiletailContents +rule 115 ValidateList -> SourceSopRef ReferenceSopList +rule 116 SourceSopRef -> DimseCmd CommandIdentifier +rule 117 SourceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier +rule 118 ReferenceSopList -> /* empty */ +rule 119 ReferenceSopList -> ReferenceSopRef +rule 120 ReferenceSopList -> ReferenceSopList T_OR ReferenceSopRef +rule 121 ReferenceSopRef -> DimseCmd CommandIdentifier +rule 122 ReferenceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier +rule 123 SopList -> /* empty */ +rule 124 SopList -> SopContents +rule 125 SopList -> SopList T_OR SopContents +rule 126 SopList -> SopList T_AND SopContents +rule 127 WriteList -> STRING T_FILEHEAD +rule 128 WriteList -> STRING T_FILETAIL +rule 129 WriteList -> STRING Dataset +rule 130 Acse -> AssociateRq +rule 131 Acse -> AssociateAc +rule 132 Acse -> AssociateRj +rule 133 Acse -> ReleaseRq +rule 134 Acse -> ReleaseRp +rule 135 Acse -> AbortRq +rule 136 AcseContents -> AssociateRqContents +rule 137 AcseContents -> AssociateAcContents +rule 138 AcseContents -> AssociateRjContents +rule 139 AcseContents -> ReleaseRqContents +rule 140 AcseContents -> ReleaseRpContents +rule 141 AcseContents -> AbortRqContents +rule 142 AssociateRqContents -> AssociateRq +rule 143 AssociateRqContents -> AssociateRq T_OPEN_BRACKET AssociateRqParameterList T_CLOSE_BRACKET +rule 144 AssociateRqParameterList -> AssociateRqParameter +rule 145 AssociateRqParameterList -> AssociateRqParameterList AssociateRqParameter +rule 146 AssociateRqParameter -> T_PROT_VER INTEGER +rule 147 AssociateRqParameter -> T_CALLED_AE STRING +rule 148 AssociateRqParameter -> T_CALLING_AE STRING +rule 149 AssociateRqParameter -> T_APPL_CTX STRING +rule 150 AssociateRqParameter -> T_PRES_CTX AssociateRqPresCtxList +rule 151 AssociateRqParameter -> T_MAX_LEN INTEGER +rule 152 AssociateRqParameter -> T_IMPL_CLASS STRING +rule 153 AssociateRqParameter -> T_IMPL_VER STRING +rule 154 AssociateRqParameter -> T_SOP_EXTEND_NEG SopClassExtendedList +rule 155 AssociateRqParameter -> T_SCPSCU_ROLE ScpScuRoleList +rule 156 AssociateRqParameter -> T_ASYNC_WINDOW INTEGER INTEGER +rule 157 AssociateRqParameter -> T_USER_ID_NEG UserIdentityNegotiation +rule 158 AssociateRqPresCtxList -> AssociateRqPresCtx +rule 159 AssociateRqPresCtxList -> AssociateRqPresCtxList AssociateRqPresCtx +rule 160 AssociateRqPresCtxList -> AssociateRqPresCtxList ',' AssociateRqPresCtx +rule 161 AssociateRqPresCtx -> RqPresCtx +rule 162 AssociateRqPresCtx -> VtsRqPresCtx +rule 163 RqPresCtx -> T_OPEN_BRACKET STRING ',' RqTransferSyntaxList T_CLOSE_BRACKET +rule 164 VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET +rule 165 RqTransferSyntaxList -> TransferSyntax +rule 166 RqTransferSyntaxList -> RqTransferSyntaxList ',' TransferSyntax +rule 167 TransferSyntax -> STRING +rule 168 SopClassExtendedList -> SopClassExtended +rule 169 SopClassExtendedList -> SopClassExtendedList SopClassExtended +rule 170 SopClassExtended -> T_OPEN_BRACKET STRING ',' ApplicationInfoList T_CLOSE_BRACKET +rule 171 ApplicationInfoList -> ApplicationInfoByte +rule 172 ApplicationInfoList -> ApplicationInfoList ',' ApplicationInfoByte +rule 173 ApplicationInfoByte -> INTEGER +rule 174 ScpScuRoleList -> ScpScuRole +rule 175 ScpScuRoleList -> ScpScuRoleList ScpScuRole +rule 176 ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' INTEGER T_CLOSE_BRACKET +rule 177 UserIdentityNegotiation -> INTEGER INTEGER STRING +rule 178 UserIdentityNegotiation -> INTEGER INTEGER STRING STRING +rule 179 UserIdentityNegotiation -> STRING +rule 180 AssociateAcContents -> AssociateAc +rule 181 AssociateAcContents -> AssociateAc T_OPEN_BRACKET AssociateAcParameterList T_CLOSE_BRACKET +rule 182 AssociateAcParameterList -> AssociateAcParameter +rule 183 AssociateAcParameterList -> AssociateAcParameterList AssociateAcParameter +rule 184 AssociateAcParameter -> T_PROT_VER INTEGER +rule 185 AssociateAcParameter -> T_CALLED_AE STRING +rule 186 AssociateAcParameter -> T_CALLING_AE STRING +rule 187 AssociateAcParameter -> T_APPL_CTX STRING +rule 188 AssociateAcParameter -> T_PRES_CTX AssociateAcPresCtxList +rule 189 AssociateAcParameter -> T_MAX_LEN INTEGER +rule 190 AssociateAcParameter -> T_IMPL_CLASS STRING +rule 191 AssociateAcParameter -> T_IMPL_VER STRING +rule 192 AssociateAcParameter -> T_SOP_EXTEND_NEG SopClassExtendedList +rule 193 AssociateAcParameter -> T_SCPSCU_ROLE ScpScuRoleList +rule 194 AssociateAcParameter -> T_ASYNC_WINDOW INTEGER INTEGER +rule 195 AssociateAcPresCtxList -> AssociateAcPresCtx +rule 196 AssociateAcPresCtxList -> AssociateAcPresCtxList AssociateAcPresCtx +rule 197 AssociateAcPresCtxList -> AssociateAcPresCtxList ',' AssociateAcPresCtx +rule 198 AssociateAcPresCtx -> AcPresCtx +rule 199 AssociateAcPresCtx -> VtsAcPresCtx +rule 200 AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET +rule 201 AcTransferSyntax -> /* empty */ +rule 202 AcTransferSyntax -> ',' TransferSyntax +rule 203 VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET +rule 204 MoreAcPresentationContext -> /* empty */ +rule 205 MoreAcPresentationContext -> ',' INTEGER ',' INTEGER ',' TransferSyntax +rule 206 AssociateRjContents -> AssociateRj +rule 207 AssociateRjContents -> AssociateRj T_OPEN_BRACKET AssociateRjParameterList T_CLOSE_BRACKET +rule 208 AssociateRjParameterList -> AssociateRjParameter +rule 209 AssociateRjParameterList -> AssociateRjParameterList AssociateRjParameter +rule 210 AssociateRjParameter -> T_RESULT INTEGER +rule 211 AssociateRjParameter -> T_SOURCE INTEGER +rule 212 AssociateRjParameter -> T_REASON INTEGER +rule 213 ReleaseRqContents -> ReleaseRq +rule 214 ReleaseRpContents -> ReleaseRp +rule 215 AbortRqContents -> AbortRq +rule 216 AbortRqContents -> AbortRq T_OPEN_BRACKET AbortRqParameterList T_CLOSE_BRACKET +rule 217 AbortRqParameterList -> AbortRqParameter +rule 218 AbortRqParameterList -> AbortRqParameterList AbortRqParameter +rule 219 AbortRqParameter -> T_SOURCE INTEGER +rule 220 AbortRqParameter -> T_REASON INTEGER +rule 221 AssociateRq -> T_ASSOCIATE_RQ +rule 222 AssociateAc -> T_ASSOCIATE_AC +rule 223 AssociateRj -> T_ASSOCIATE_RJ +rule 224 ReleaseRq -> T_RELEASE_RQ +rule 225 ReleaseRp -> T_RELEASE_RP +rule 226 AbortRq -> T_ABORT_RQ +rule 227 Sop -> Command +rule 228 Sop -> Command Dataset +rule 229 SopContents -> CommandContents +rule 230 SopContents -> Command DatasetContents +rule 231 CommandContents -> Command +rule 232 CommandContents -> CommandRef T_OPEN_BRACKET T_CLOSE_BRACKET +rule 233 CommandContents -> CommandRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET +rule 234 Command -> DimseCmd +rule 235 Command -> DimseCmd CommandIdentifier +rule 236 DimseCmd -> COMMANDFIELD +rule 237 CommandIdentifier -> IDENTIFIER +rule 238 CommandRef -> Command +rule 239 DatasetContents -> Dataset +rule 240 DatasetContents -> DatasetRef T_OPEN_BRACKET T_CLOSE_BRACKET +rule 241 DatasetContents -> DatasetRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET +rule 242 DatasetRef -> Dataset +rule 243 Dataset -> IomIod +rule 244 Dataset -> IomIod DatasetIdentifier +rule 245 IomIod -> IodName +rule 246 IomIod -> IomLevel IodName +rule 247 IomLevel -> IOMLEVEL +rule 248 IodName -> STRING +rule 249 DatasetIdentifier -> IDENTIFIER +rule 250 DatasetIdentifier -> STRING +rule 251 AttributeList -> Attribute +rule 252 AttributeList -> AttributeList Attribute +rule 253 Attribute -> T_OPEN_BRACKET AttributeIdentification ',' AttributeValue T_CLOSE_BRACKET +rule 254 Attribute -> T_OPEN_BRACKET TagRef T_CLOSE_BRACKET +rule 255 AttributeIdentification -> AttributeTag +rule 256 AttributeTag -> HEXADECIMAL +rule 257 AttributeValue -> SequenceValue +rule 258 AttributeValue -> OtherValue +rule 259 SequenceValue -> SequenceVR ',' ItemList +rule 260 SequenceVR -> T_SQ +rule 261 SequenceVR -> '[' T_SQ ']' +rule 262 ItemList -> ItemByReferenceList +rule 263 ItemList -> ItemByValueList +rule 264 ItemByReferenceList -> ItemByReference +rule 265 ItemByReferenceList -> ItemByReferenceList ',' ItemByReference +rule 266 ItemByReference -> STRING +rule 267 ItemByValueList -> ItemByValue +rule 268 ItemByValueList -> ItemByValueList ',' ItemByValue +rule 269 ItemByValue -> /* empty */ +rule 270 ItemByValue -> ItemAttributeList +rule 271 ItemAttributeList -> ItemAttribute +rule 272 ItemAttributeList -> ItemAttributeList ItemAttribute +rule 273 ItemAttribute -> '>' Attribute +rule 274 OtherValue -> OptionalVR Values +rule 275 OptionalVR -> /* empty */ +rule 276 OptionalVR -> AttributeVR ',' +rule 277 AttributeVR -> VR +rule 278 AttributeVR -> '[' VR ']' +rule 279 AttributeVR -> T_OPEN_BRACKET VR T_CLOSE_BRACKET +rule 280 AttributeVR -> T_OPEN_BRACKET '[' VR ']' T_CLOSE_BRACKET +rule 281 AttributeVR -> T_OPEN_BRACKET VR '?' T_CLOSE_BRACKET +rule 282 AttributeVR -> T_OPEN_BRACKET '[' VR ']' '?' T_CLOSE_BRACKET +rule 283 Values -> /* empty */ +rule 284 Values -> VMList +rule 285 VMList -> Value +rule 286 VMList -> VMList ',' Value +rule 287 Value -> STRING +rule 288 Value -> HEXADECIMAL +rule 289 Value -> INTEGER +rule 290 Value -> T_AUTOSET +rule 291 TagRef1 -> TagRef +rule 292 TagRef2 -> TagRef +rule 293 TagRef -> AttributeTag +rule 294 TagRef -> STRING +rule 295 ObjectRef1 -> Command +rule 296 ObjectRef1 -> Dataset +rule 297 ObjectRef2 -> Command +rule 298 ObjectRef2 -> Dataset +rule 299 SequenceRef -> T_OPEN_BRACKET Dataset TagRef ItemNumber T_CLOSE_BRACKET +rule 300 SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef ItemNumber T_CLOSE_BRACKET +rule 301 ItemNumber -> /* empty */ +rule 302 ItemNumber -> '[' INTEGER ']' +rule 303 FileheadContents -> Filehead +rule 304 FileheadContents -> Filehead T_OPEN_BRACKET FileheadParameterList T_CLOSE_BRACKET +rule 305 Filehead -> T_FILEHEAD +rule 306 FileheadParameterList -> FileheadParameter +rule 307 FileheadParameterList -> FileheadParameterList FileheadParameter +rule 308 FileheadParameter -> FilePreamble +rule 309 FileheadParameter -> DicomPrefix +rule 310 FileheadParameter -> FileTransferSyntax +rule 311 FilePreamble -> T_FILE_PREAMBLE STRING +rule 312 DicomPrefix -> T_DICOM_PREFIX STRING +rule 313 FileTransferSyntax -> T_TRANSFER_SYNTAX TransferSyntax +rule 314 FiletailContents -> Filetail +rule 315 FiletailContents -> Filetail T_OPEN_BRACKET FiletailParameterList T_CLOSE_BRACKET +rule 316 Filetail -> T_FILETAIL +rule 317 FiletailParameterList -> FiletailParameter +rule 318 FiletailParameterList -> FiletailParameterList FiletailParameter +rule 319 FiletailParameter -> DatasetTrailingPadding +rule 320 FiletailParameter -> SectorSize +rule 321 FiletailParameter -> PaddingValue +rule 322 DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_YES +rule 323 DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_NO +rule 324 SectorSize -> T_SECTOR_SIZE INTEGER +rule 325 PaddingValue -> T_PADDING_VALUE INTEGER Terminals, with rules where they appear $ (-1) -',' (44) 159 162 163 165 169 171 175 196 199 201 202 204 252 258 264 - 267 275 285 -'>' (62) 272 -'?' (63) 280 281 -'[' (91) 260 277 279 281 301 -']' (93) 260 277 279 281 301 +',' (44) 160 163 164 166 170 172 176 197 200 202 203 205 253 259 265 + 268 276 286 +'>' (62) 273 +'?' (63) 281 282 +'[' (91) 261 278 280 282 302 +']' (93) 261 278 280 282 302 error (256) T_LANGUAGE (258) 33 T_RESET (259) 34 35 36 37 38 T_ALL (260) 34 -T_WAREHOUSE (261) 35 48 +T_WAREHOUSE (261) 35 49 T_ASSOCIATION (262) 36 T_RELATION (263) 37 T_EXECUTION_CONTEXT (264) 38 T_COMPARE (265) 39 T_COMPARE_NOT (266) 40 -T_CONFIRM (267) 41 -T_COPY (268) 42 -T_CREATE (269) 43 -T_DELAY (270) 44 -T_DELETE (271) 45 -T_DISPLAY (272) 47 48 98 -T_ECHO (273) 49 -T_POPULATE (274) 65 66 -T_READ (275) 67 -T_RECEIVE (276) 68 -T_ROLE (277) 69 -T_SEND (278) 70 -T_SET (279) 71 -T_SYSTEM (280) 72 -T_TIME (281) 73 -T_VALIDATE (282) 74 -T_VERBOSE (283) 75 76 -T_WRITE (284) 77 -T_IMPORT (285) 62 -T_EXPORT (286) 50 -T_VALIDATION (287) 79 -T_DEF_SQ_LENGTH (288) 80 81 -T_ADD_GROUP_LENGTH (289) 82 83 -T_STRICT (290) 84 85 -T_APPL_ENTITY (291) 78 -T_ASSOCIATE_RQ (292) 220 -T_ASSOCIATE_AC (293) 221 -T_ASSOCIATE_RJ (294) 222 -T_RELEASE_RQ (295) 223 -T_RELEASE_RP (296) 224 -T_ABORT_RQ (297) 225 -T_PROT_VER (298) 145 183 -T_CALLED_AE (299) 146 184 -T_CALLING_AE (300) 147 185 -T_APPL_CTX (301) 148 186 -T_PRES_CTX (302) 61 106 149 187 -T_MAX_LEN (303) 150 188 -T_IMPL_CLASS (304) 151 189 -T_IMPL_VER (305) 152 190 -T_SOP_EXTEND_NEG (306) 153 191 -T_SCPSCU_ROLE (307) 154 192 -T_ASYNC_WINDOW (308) 155 193 -T_USER_ID_NEG (309) 156 -T_RESULT (310) 209 -T_SOURCE (311) 210 218 -T_REASON (312) 211 219 -T_DEFINED_LENGTH (313) 89 -T_AUTOSET (314) 289 -T_FILEHEAD (315) 96 126 304 -T_FILETAIL (316) 97 127 315 -T_FILE_PREAMBLE (317) 310 -T_DICOM_PREFIX (318) 311 -T_TRANSFER_SYNTAX (319) 312 -T_DATASET_TRAILING_PADDING (320) 321 322 -T_SECTOR_SIZE (321) 323 -T_PADDING_VALUE (322) 324 -T_SQ (323) 259 260 -T_OPEN_BRACKET (324) 107 108 142 162 163 169 175 180 199 202 206 215 - 231 232 239 240 252 253 278 279 280 281 298 299 303 314 -T_CLOSE_BRACKET (325) 107 108 142 162 163 169 175 180 199 202 206 215 - 231 232 239 240 252 253 278 279 280 281 298 299 303 314 -T_YES (326) 321 -T_NO (327) 322 -T_ON (328) 65 75 80 82 84 -T_OFF (329) 66 76 81 83 85 -T_OR (330) 119 124 -T_AND (331) 125 -COMMANDFIELD (332) 235 -HEXADECIMAL (333) 101 107 255 287 -IDENTIFIER (334) 236 248 -INTEGER (335) 44 108 145 150 155 163 172 175 176 177 183 188 193 199 - 202 204 209 210 211 218 219 288 301 323 324 -VALIDATIONFLAG (336) 79 -IOMLEVEL (337) 246 -STRING (338) 33 49 72 78 100 101 126 127 128 146 147 148 151 152 162 - 163 166 169 175 176 177 178 184 185 186 189 190 199 202 247 249 - 265 286 293 310 311 -USERPROVIDER (339) 69 -VR (340) 276 277 278 279 280 281 +T_CONFIRM (267) 41 42 +T_COPY (268) 43 +T_CREATE (269) 44 +T_DELAY (270) 45 +T_DELETE (271) 46 +T_DISPLAY (272) 48 49 99 +T_ECHO (273) 50 +T_POPULATE (274) 66 67 +T_READ (275) 68 +T_RECEIVE (276) 69 +T_ROLE (277) 70 +T_SEND (278) 71 +T_SET (279) 72 +T_SYSTEM (280) 73 +T_TIME (281) 74 +T_VALIDATE (282) 75 +T_VERBOSE (283) 76 77 +T_WRITE (284) 78 +T_IMPORT (285) 63 +T_EXPORT (286) 51 +T_VALIDATION (287) 80 +T_DEF_SQ_LENGTH (288) 81 82 +T_ADD_GROUP_LENGTH (289) 83 84 +T_STRICT (290) 85 86 +T_APPL_ENTITY (291) 79 +T_ASSOCIATE_RQ (292) 221 +T_ASSOCIATE_AC (293) 222 +T_ASSOCIATE_RJ (294) 223 +T_RELEASE_RQ (295) 224 +T_RELEASE_RP (296) 225 +T_ABORT_RQ (297) 226 +T_PROT_VER (298) 146 184 +T_CALLED_AE (299) 147 185 +T_CALLING_AE (300) 148 186 +T_APPL_CTX (301) 149 187 +T_PRES_CTX (302) 62 107 150 188 +T_MAX_LEN (303) 151 189 +T_IMPL_CLASS (304) 152 190 +T_IMPL_VER (305) 153 191 +T_SOP_EXTEND_NEG (306) 154 192 +T_SCPSCU_ROLE (307) 155 193 +T_ASYNC_WINDOW (308) 156 194 +T_USER_ID_NEG (309) 157 +T_RESULT (310) 210 +T_SOURCE (311) 211 219 +T_REASON (312) 212 220 +T_DEFINED_LENGTH (313) 90 +T_AUTOSET (314) 290 +T_FILEHEAD (315) 97 127 305 +T_FILETAIL (316) 98 128 316 +T_FILE_PREAMBLE (317) 311 +T_DICOM_PREFIX (318) 312 +T_TRANSFER_SYNTAX (319) 313 +T_DATASET_TRAILING_PADDING (320) 322 323 +T_SECTOR_SIZE (321) 324 +T_PADDING_VALUE (322) 325 +T_SQ (323) 260 261 +T_OPEN_BRACKET (324) 108 109 143 163 164 170 176 181 200 203 207 216 + 232 233 240 241 253 254 279 280 281 282 299 300 304 315 +T_CLOSE_BRACKET (325) 108 109 143 163 164 170 176 181 200 203 207 216 + 232 233 240 241 253 254 279 280 281 282 299 300 304 315 +T_YES (326) 322 +T_NO (327) 323 +T_ON (328) 66 76 81 83 85 +T_OFF (329) 67 77 82 84 86 +T_OR (330) 120 125 +T_AND (331) 126 +COMMANDFIELD (332) 236 +HEXADECIMAL (333) 102 108 256 288 +IDENTIFIER (334) 237 249 +INTEGER (335) 45 109 146 151 156 164 173 176 177 178 184 189 194 200 + 203 205 210 211 212 219 220 289 302 324 325 +VALIDATIONFLAG (336) 80 +IOMLEVEL (337) 247 +STRING (338) 33 42 50 73 79 101 102 127 128 129 147 148 149 152 153 + 163 164 167 170 176 177 178 179 185 186 187 190 191 200 203 248 + 250 266 287 294 311 312 +USERPROVIDER (339) 70 +VR (340) 277 278 279 280 281 282 Nonterminals, with rules where they appear @@ -441,286 +442,286 @@ ResetCommand (95) CompareCommand (96) on left: 39 40, on right: 7 ConfirmCommand (97) - on left: 41, on right: 8 + on left: 41 42, on right: 8 CopyCommand (98) - on left: 42, on right: 9 + on left: 43, on right: 9 CreateCommand (99) - on left: 43, on right: 10 + on left: 44, on right: 10 DelayCommand (100) - on left: 44, on right: 11 + on left: 45, on right: 11 DeleteCommand (101) - on left: 45, on right: 12 + on left: 46, on right: 12 DisplayCommand (102) - on left: 46 47 48, on right: 13 + on left: 47 48 49, on right: 13 EchoCommand (103) - on left: 49, on right: 14 + on left: 50, on right: 14 ExportCommand (104) - on left: 50, on right: 15 + on left: 51, on right: 15 ExportList (105) - on left: 51 52, on right: 50 + on left: 52 53, on right: 51 ExportAcseObject (106) - on left: 53 54 55 56 57 58, on right: 51 + on left: 54 55 56 57 58 59, on right: 52 ExportDimseObjects (107) - on left: 59 60 61, on right: 52 + on left: 60 61 62, on right: 53 ImportCommand (108) - on left: 62, on right: 16 + on left: 63, on right: 16 ImportList (109) - on left: 63 64, on right: 62 + on left: 64 65, on right: 63 PopulateCommand (110) - on left: 65 66, on right: 17 + on left: 66 67, on right: 17 ReadCommand (111) - on left: 67, on right: 18 + on left: 68, on right: 18 ReceiveCommand (112) - on left: 68, on right: 19 + on left: 69, on right: 19 RoleCommand (113) - on left: 69, on right: 20 + on left: 70, on right: 20 SendCommand (114) - on left: 70, on right: 21 + on left: 71, on right: 21 SetCommand (115) - on left: 71, on right: 22 + on left: 72, on right: 22 SystemCommand (116) - on left: 72, on right: 23 + on left: 73, on right: 23 TimeCommand (117) - on left: 73, on right: 24 + on left: 74, on right: 24 ValidateCommand (118) - on left: 74, on right: 25 + on left: 75, on right: 25 VerboseCommand (119) - on left: 75 76, on right: 26 + on left: 76 77, on right: 26 WriteCommand (120) - on left: 77, on right: 27 + on left: 78, on right: 27 ApplicationEntityFlagCommand (121) - on left: 78, on right: 28 + on left: 79, on right: 28 ValidationFlagCommand (122) - on left: 79, on right: 29 + on left: 80, on right: 29 DefineSqLengthFlagCommand (123) - on left: 80 81, on right: 30 + on left: 81 82, on right: 30 AddGroupLengthFlagCommand (124) - on left: 82 83, on right: 31 + on left: 83 84, on right: 31 StrictValidationFlagCommand (125) - on left: 84 85, on right: 32 + on left: 85 86, on right: 32 CreateList (126) - on left: 86 87 88 89 90 91 92, on right: 43 + on left: 87 88 89 90 91 92 93, on right: 44 DeleteList (127) - on left: 93 94 95 96 97, on right: 45 + on left: 94 95 96 97 98, on right: 46 DisplayTagList (128) - on left: 98 99, on right: 46 99 + on left: 99 100, on right: 47 100 ReadList (129) - on left: 100 101, on right: 67 + on left: 101 102, on right: 68 ReceiveList (130) - on left: 102 103, on right: 68 + on left: 103 104, on right: 69 SendList (131) - on left: 104 105 106, on right: 70 + on left: 105 106 107, on right: 71 PresentationContextId (132) - on left: 107 108, on right: 61 106 + on left: 108 109, on right: 62 107 SetList (133) - on left: 109 110 111 112 113, on right: 71 + on left: 110 111 112 113 114, on right: 72 ValidateList (134) - on left: 114, on right: 74 + on left: 115, on right: 75 SourceSopRef (135) - on left: 115 116, on right: 114 + on left: 116 117, on right: 115 ReferenceSopList (136) - on left: 117 118 119, on right: 114 119 + on left: 118 119 120, on right: 115 120 ReferenceSopRef (137) - on left: 120 121, on right: 118 119 + on left: 121 122, on right: 119 120 SopList (138) - on left: 122 123 124 125, on right: 103 124 125 + on left: 123 124 125 126, on right: 104 125 126 WriteList (139) - on left: 126 127 128, on right: 77 + on left: 127 128 129, on right: 78 Acse (140) - on left: 129 130 131 132 133 134, on right: 86 93 + on left: 130 131 132 133 134 135, on right: 87 94 AcseContents (141) - on left: 135 136 137 138 139 140, on right: 102 104 109 + on left: 136 137 138 139 140 141, on right: 103 105 110 AssociateRqContents (142) - on left: 141 142, on right: 135 + on left: 142 143, on right: 136 AssociateRqParameterList (143) - on left: 143 144, on right: 142 144 + on left: 144 145, on right: 143 145 AssociateRqParameter (144) - on left: 145 146 147 148 149 150 151 152 153 154 155 156, - on right: 143 144 + on left: 146 147 148 149 150 151 152 153 154 155 156 157, + on right: 144 145 AssociateRqPresCtxList (145) - on left: 157 158 159, on right: 149 158 159 + on left: 158 159 160, on right: 150 159 160 AssociateRqPresCtx (146) - on left: 160 161, on right: 157 158 159 + on left: 161 162, on right: 158 159 160 RqPresCtx (147) - on left: 162, on right: 160 -VtsRqPresCtx (148) on left: 163, on right: 161 +VtsRqPresCtx (148) + on left: 164, on right: 162 RqTransferSyntaxList (149) - on left: 164 165, on right: 162 163 165 + on left: 165 166, on right: 163 164 166 TransferSyntax (150) - on left: 166, on right: 164 165 201 204 312 + on left: 167, on right: 165 166 202 205 313 SopClassExtendedList (151) - on left: 167 168, on right: 153 168 191 + on left: 168 169, on right: 154 169 192 SopClassExtended (152) - on left: 169, on right: 167 168 + on left: 170, on right: 168 169 ApplicationInfoList (153) - on left: 170 171, on right: 169 171 + on left: 171 172, on right: 170 172 ApplicationInfoByte (154) - on left: 172, on right: 170 171 + on left: 173, on right: 171 172 ScpScuRoleList (155) - on left: 173 174, on right: 154 174 192 + on left: 174 175, on right: 155 175 193 ScpScuRole (156) - on left: 175, on right: 173 174 + on left: 176, on right: 174 175 UserIdentityNegotiation (157) - on left: 176 177 178, on right: 156 + on left: 177 178 179, on right: 157 AssociateAcContents (158) - on left: 179 180, on right: 136 + on left: 180 181, on right: 137 AssociateAcParameterList (159) - on left: 181 182, on right: 180 182 + on left: 182 183, on right: 181 183 AssociateAcParameter (160) - on left: 183 184 185 186 187 188 189 190 191 192 193, - on right: 181 182 + on left: 184 185 186 187 188 189 190 191 192 193 194, + on right: 182 183 AssociateAcPresCtxList (161) - on left: 194 195 196, on right: 187 195 196 + on left: 195 196 197, on right: 188 196 197 AssociateAcPresCtx (162) - on left: 197 198, on right: 194 195 196 + on left: 198 199, on right: 195 196 197 AcPresCtx (163) - on left: 199, on right: 197 + on left: 200, on right: 198 AcTransferSyntax (164) - on left: 200 201, on right: 199 + on left: 201 202, on right: 200 VtsAcPresCtx (165) - on left: 202, on right: 198 + on left: 203, on right: 199 MoreAcPresentationContext (166) - on left: 203 204, on right: 202 + on left: 204 205, on right: 203 AssociateRjContents (167) - on left: 205 206, on right: 137 + on left: 206 207, on right: 138 AssociateRjParameterList (168) - on left: 207 208, on right: 206 208 + on left: 208 209, on right: 207 209 AssociateRjParameter (169) - on left: 209 210 211, on right: 207 208 + on left: 210 211 212, on right: 208 209 ReleaseRqContents (170) - on left: 212, on right: 138 -ReleaseRpContents (171) on left: 213, on right: 139 +ReleaseRpContents (171) + on left: 214, on right: 140 AbortRqContents (172) - on left: 214 215, on right: 140 + on left: 215 216, on right: 141 AbortRqParameterList (173) - on left: 216 217, on right: 215 217 + on left: 217 218, on right: 216 218 AbortRqParameter (174) - on left: 218 219, on right: 216 217 + on left: 219 220, on right: 217 218 AssociateRq (175) - on left: 220, on right: 53 129 141 142 + on left: 221, on right: 54 130 142 143 AssociateAc (176) - on left: 221, on right: 54 130 179 180 + on left: 222, on right: 55 131 180 181 AssociateRj (177) - on left: 222, on right: 55 131 205 206 + on left: 223, on right: 56 132 206 207 ReleaseRq (178) - on left: 223, on right: 56 132 212 -ReleaseRp (179) on left: 224, on right: 57 133 213 +ReleaseRp (179) + on left: 225, on right: 58 134 214 AbortRq (180) - on left: 225, on right: 58 134 214 215 + on left: 226, on right: 59 135 215 216 Sop (181) - on left: 226 227, on right: 87 + on left: 227 228, on right: 88 SopContents (182) - on left: 228 229, on right: 105 106 123 124 125 + on left: 229 230, on right: 106 107 124 125 126 CommandContents (183) - on left: 230 231 232, on right: 110 228 + on left: 231 232 233, on right: 111 229 Command (184) - on left: 233 234, on right: 94 226 227 229 230 237 294 296 + on left: 234 235, on right: 95 227 228 230 231 238 295 297 DimseCmd (185) - on left: 235, on right: 59 60 61 63 64 115 116 120 121 233 234 + on left: 236, on right: 60 61 62 64 65 116 117 121 122 234 235 CommandIdentifier (186) - on left: 236, on right: 59 60 61 63 64 115 116 120 121 234 + on left: 237, on right: 60 61 62 64 65 116 117 121 122 235 CommandRef (187) - on left: 237, on right: 231 232 + on left: 238, on right: 232 233 DatasetContents (188) - on left: 238 239 240, on right: 111 229 + on left: 239 240 241, on right: 112 230 DatasetRef (189) - on left: 241, on right: 239 240 + on left: 242, on right: 240 241 Dataset (190) - on left: 242 243, on right: 88 89 90 95 100 128 227 238 241 295 - 297 298 + on left: 243 244, on right: 89 90 91 96 101 129 228 239 242 296 + 298 299 IomIod (191) - on left: 244 245, on right: 60 61 64 116 121 242 243 + on left: 245 246, on right: 61 62 65 117 122 243 244 IomLevel (192) - on left: 246, on right: 245 + on left: 247, on right: 246 IodName (193) - on left: 247, on right: 244 245 + on left: 248, on right: 245 246 DatasetIdentifier (194) - on left: 248 249, on right: 60 61 64 116 121 243 + on left: 249 250, on right: 61 62 65 117 122 244 AttributeList (195) - on left: 250 251, on right: 232 240 251 + on left: 251 252, on right: 233 241 252 Attribute (196) - on left: 252 253, on right: 250 251 272 + on left: 253 254, on right: 251 252 273 AttributeIdentification (197) - on left: 254, on right: 252 + on left: 255, on right: 253 AttributeTag (198) - on left: 255, on right: 254 292 + on left: 256, on right: 255 293 AttributeValue (199) - on left: 256 257, on right: 252 + on left: 257 258, on right: 253 SequenceValue (200) - on left: 258, on right: 256 + on left: 259, on right: 257 SequenceVR (201) - on left: 259 260, on right: 258 + on left: 260 261, on right: 259 ItemList (202) - on left: 261 262, on right: 258 + on left: 262 263, on right: 259 ItemByReferenceList (203) - on left: 263 264, on right: 261 264 + on left: 264 265, on right: 262 265 ItemByReference (204) - on left: 265, on right: 263 264 + on left: 266, on right: 264 265 ItemByValueList (205) - on left: 266 267, on right: 262 267 + on left: 267 268, on right: 263 268 ItemByValue (206) - on left: 268 269, on right: 266 267 + on left: 269 270, on right: 267 268 ItemAttributeList (207) - on left: 270 271, on right: 269 271 + on left: 271 272, on right: 270 272 ItemAttribute (208) - on left: 272, on right: 270 271 + on left: 273, on right: 271 272 OtherValue (209) - on left: 273, on right: 257 + on left: 274, on right: 258 OptionalVR (210) - on left: 274 275, on right: 273 + on left: 275 276, on right: 274 AttributeVR (211) - on left: 276 277 278 279 280 281, on right: 275 + on left: 277 278 279 280 281 282, on right: 276 Values (212) - on left: 282 283, on right: 273 + on left: 283 284, on right: 274 VMList (213) - on left: 284 285, on right: 283 285 + on left: 285 286, on right: 284 286 Value (214) - on left: 286 287 288 289, on right: 284 285 + on left: 287 288 289 290, on right: 285 286 TagRef1 (215) - on left: 290, on right: 39 40 42 + on left: 291, on right: 39 40 43 TagRef2 (216) - on left: 291, on right: 39 40 42 + on left: 292, on right: 39 40 43 TagRef (217) - on left: 292 293, on right: 98 99 253 290 291 298 299 + on left: 293 294, on right: 99 100 254 291 292 299 300 ObjectRef1 (218) - on left: 294 295, on right: 39 40 42 47 98 + on left: 295 296, on right: 39 40 43 48 99 ObjectRef2 (219) - on left: 296 297, on right: 39 40 42 + on left: 297 298, on right: 39 40 43 SequenceRef (220) - on left: 298 299, on right: 90 299 + on left: 299 300, on right: 91 300 ItemNumber (221) - on left: 300 301, on right: 298 299 + on left: 301 302, on right: 299 300 FileheadContents (222) - on left: 302 303, on right: 112 + on left: 303 304, on right: 113 Filehead (223) - on left: 304, on right: 91 302 303 + on left: 305, on right: 92 303 304 FileheadParameterList (224) - on left: 305 306, on right: 303 306 + on left: 306 307, on right: 304 307 FileheadParameter (225) - on left: 307 308 309, on right: 305 306 + on left: 308 309 310, on right: 306 307 FilePreamble (226) - on left: 310, on right: 307 -DicomPrefix (227) on left: 311, on right: 308 -FileTransferSyntax (228) +DicomPrefix (227) on left: 312, on right: 309 +FileTransferSyntax (228) + on left: 313, on right: 310 FiletailContents (229) - on left: 313 314, on right: 113 + on left: 314 315, on right: 114 Filetail (230) - on left: 315, on right: 92 313 314 + on left: 316, on right: 93 314 315 FiletailParameterList (231) - on left: 316 317, on right: 314 317 + on left: 317 318, on right: 315 318 FiletailParameter (232) - on left: 318 319 320, on right: 316 317 + on left: 319 320 321, on right: 317 318 DatasetTrailingPadding (233) - on left: 321 322, on right: 318 + on left: 322 323, on right: 319 SectorSize (234) - on left: 323, on right: 319 -PaddingValue (235) on left: 324, on right: 320 +PaddingValue (235) + on left: 325, on right: 321 state 0 @@ -757,7 +758,7 @@ state 0 $default reduce using rule 1 (Language) - Language go to state 505 + Language go to state 506 LanguageGrammar go to state 30 LanguageComponents go to state 31 LanguageSpecifier go to state 32 @@ -855,6 +856,9 @@ state 4 state 5 ConfirmCommand -> T_CONFIRM . (rule 41) + ConfirmCommand -> T_CONFIRM . STRING (rule 42) + + STRING shift, and go to state 78 $default reduce using rule 41 (ConfirmCommand) @@ -862,7 +866,7 @@ state 5 state 6 - CopyCommand -> T_COPY . ObjectRef1 TagRef1 ObjectRef2 TagRef2 (rule 42) + CopyCommand -> T_COPY . ObjectRef1 TagRef1 ObjectRef2 TagRef2 (rule 43) COMMANDFIELD shift, and go to state 67 IOMLEVEL shift, and go to state 68 @@ -874,83 +878,83 @@ state 6 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 - ObjectRef1 go to state 78 + ObjectRef1 go to state 79 state 7 - CreateCommand -> T_CREATE . CreateList (rule 43) - - T_ASSOCIATE_RQ shift, and go to state 79 - T_ASSOCIATE_AC shift, and go to state 80 - T_ASSOCIATE_RJ shift, and go to state 81 - T_RELEASE_RQ shift, and go to state 82 - T_RELEASE_RP shift, and go to state 83 - T_ABORT_RQ shift, and go to state 84 - T_FILEHEAD shift, and go to state 85 - T_FILETAIL shift, and go to state 86 - T_OPEN_BRACKET shift, and go to state 87 + CreateCommand -> T_CREATE . CreateList (rule 44) + + T_ASSOCIATE_RQ shift, and go to state 80 + T_ASSOCIATE_AC shift, and go to state 81 + T_ASSOCIATE_RJ shift, and go to state 82 + T_RELEASE_RQ shift, and go to state 83 + T_RELEASE_RP shift, and go to state 84 + T_ABORT_RQ shift, and go to state 85 + T_FILEHEAD shift, and go to state 86 + T_FILETAIL shift, and go to state 87 + T_OPEN_BRACKET shift, and go to state 88 COMMANDFIELD shift, and go to state 67 IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - CreateList go to state 88 - Acse go to state 89 - AssociateRq go to state 90 - AssociateAc go to state 91 - AssociateRj go to state 92 - ReleaseRq go to state 93 - ReleaseRp go to state 94 - AbortRq go to state 95 - Sop go to state 96 - Command go to state 97 + CreateList go to state 89 + Acse go to state 90 + AssociateRq go to state 91 + AssociateAc go to state 92 + AssociateRj go to state 93 + ReleaseRq go to state 94 + ReleaseRp go to state 95 + AbortRq go to state 96 + Sop go to state 97 + Command go to state 98 DimseCmd go to state 71 - Dataset go to state 98 + Dataset go to state 99 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 - SequenceRef go to state 99 - Filehead go to state 100 - Filetail go to state 101 + SequenceRef go to state 100 + Filehead go to state 101 + Filetail go to state 102 state 8 - DelayCommand -> T_DELAY . INTEGER (rule 44) + DelayCommand -> T_DELAY . INTEGER (rule 45) - INTEGER shift, and go to state 102 + INTEGER shift, and go to state 103 state 9 - DeleteCommand -> T_DELETE . DeleteList (rule 45) + DeleteCommand -> T_DELETE . DeleteList (rule 46) - T_ASSOCIATE_RQ shift, and go to state 79 - T_ASSOCIATE_AC shift, and go to state 80 - T_ASSOCIATE_RJ shift, and go to state 81 - T_RELEASE_RQ shift, and go to state 82 - T_RELEASE_RP shift, and go to state 83 - T_ABORT_RQ shift, and go to state 84 - T_FILEHEAD shift, and go to state 103 - T_FILETAIL shift, and go to state 104 + T_ASSOCIATE_RQ shift, and go to state 80 + T_ASSOCIATE_AC shift, and go to state 81 + T_ASSOCIATE_RJ shift, and go to state 82 + T_RELEASE_RQ shift, and go to state 83 + T_RELEASE_RP shift, and go to state 84 + T_ABORT_RQ shift, and go to state 85 + T_FILEHEAD shift, and go to state 104 + T_FILETAIL shift, and go to state 105 COMMANDFIELD shift, and go to state 67 IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - DeleteList go to state 105 - Acse go to state 106 - AssociateRq go to state 90 - AssociateAc go to state 91 - AssociateRj go to state 92 - ReleaseRq go to state 93 - ReleaseRp go to state 94 - AbortRq go to state 95 - Command go to state 107 + DeleteList go to state 106 + Acse go to state 107 + AssociateRq go to state 91 + AssociateAc go to state 92 + AssociateRj go to state 93 + ReleaseRq go to state 94 + ReleaseRp go to state 95 + AbortRq go to state 96 + Command go to state 108 DimseCmd go to state 71 - Dataset go to state 108 + Dataset go to state 109 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 @@ -959,11 +963,11 @@ state 9 state 10 - DisplayCommand -> T_DISPLAY . ObjectRef1 (rule 47) - DisplayCommand -> T_DISPLAY . T_WAREHOUSE (rule 48) - DisplayTagList -> T_DISPLAY . ObjectRef1 TagRef (rule 98) + DisplayCommand -> T_DISPLAY . ObjectRef1 (rule 48) + DisplayCommand -> T_DISPLAY . T_WAREHOUSE (rule 49) + DisplayTagList -> T_DISPLAY . ObjectRef1 TagRef (rule 99) - T_WAREHOUSE shift, and go to state 109 + T_WAREHOUSE shift, and go to state 110 COMMANDFIELD shift, and go to state 67 IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 @@ -974,291 +978,291 @@ state 10 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 - ObjectRef1 go to state 110 + ObjectRef1 go to state 111 state 11 - EchoCommand -> T_ECHO . STRING (rule 49) + EchoCommand -> T_ECHO . STRING (rule 50) - STRING shift, and go to state 111 + STRING shift, and go to state 112 state 12 - PopulateCommand -> T_POPULATE . T_ON (rule 65) - PopulateCommand -> T_POPULATE . T_OFF (rule 66) + PopulateCommand -> T_POPULATE . T_ON (rule 66) + PopulateCommand -> T_POPULATE . T_OFF (rule 67) - T_ON shift, and go to state 112 - T_OFF shift, and go to state 113 + T_ON shift, and go to state 113 + T_OFF shift, and go to state 114 state 13 - ReadCommand -> T_READ . ReadList (rule 67) + ReadCommand -> T_READ . ReadList (rule 68) - STRING shift, and go to state 114 + STRING shift, and go to state 115 - ReadList go to state 115 + ReadList go to state 116 state 14 - ReceiveCommand -> T_RECEIVE . ReceiveList (rule 68) + ReceiveCommand -> T_RECEIVE . ReceiveList (rule 69) - T_ASSOCIATE_RQ shift, and go to state 79 - T_ASSOCIATE_AC shift, and go to state 80 - T_ASSOCIATE_RJ shift, and go to state 81 - T_RELEASE_RQ shift, and go to state 82 - T_RELEASE_RP shift, and go to state 83 - T_ABORT_RQ shift, and go to state 84 + T_ASSOCIATE_RQ shift, and go to state 80 + T_ASSOCIATE_AC shift, and go to state 81 + T_ASSOCIATE_RJ shift, and go to state 82 + T_RELEASE_RQ shift, and go to state 83 + T_RELEASE_RP shift, and go to state 84 + T_ABORT_RQ shift, and go to state 85 COMMANDFIELD shift, and go to state 67 - $default reduce using rule 122 (SopList) - - ReceiveList go to state 116 - SopList go to state 117 - AcseContents go to state 118 - AssociateRqContents go to state 119 - AssociateAcContents go to state 120 - AssociateRjContents go to state 121 - ReleaseRqContents go to state 122 - ReleaseRpContents go to state 123 - AbortRqContents go to state 124 - AssociateRq go to state 125 - AssociateAc go to state 126 - AssociateRj go to state 127 - ReleaseRq go to state 128 - ReleaseRp go to state 129 - AbortRq go to state 130 - SopContents go to state 131 - CommandContents go to state 132 - Command go to state 133 + $default reduce using rule 123 (SopList) + + ReceiveList go to state 117 + SopList go to state 118 + AcseContents go to state 119 + AssociateRqContents go to state 120 + AssociateAcContents go to state 121 + AssociateRjContents go to state 122 + ReleaseRqContents go to state 123 + ReleaseRpContents go to state 124 + AbortRqContents go to state 125 + AssociateRq go to state 126 + AssociateAc go to state 127 + AssociateRj go to state 128 + ReleaseRq go to state 129 + ReleaseRp go to state 130 + AbortRq go to state 131 + SopContents go to state 132 + CommandContents go to state 133 + Command go to state 134 DimseCmd go to state 71 - CommandRef go to state 134 + CommandRef go to state 135 state 15 - RoleCommand -> T_ROLE . USERPROVIDER (rule 69) + RoleCommand -> T_ROLE . USERPROVIDER (rule 70) - USERPROVIDER shift, and go to state 135 + USERPROVIDER shift, and go to state 136 state 16 - SendCommand -> T_SEND . SendList (rule 70) + SendCommand -> T_SEND . SendList (rule 71) - T_ASSOCIATE_RQ shift, and go to state 79 - T_ASSOCIATE_AC shift, and go to state 80 - T_ASSOCIATE_RJ shift, and go to state 81 - T_RELEASE_RQ shift, and go to state 82 - T_RELEASE_RP shift, and go to state 83 - T_ABORT_RQ shift, and go to state 84 + T_ASSOCIATE_RQ shift, and go to state 80 + T_ASSOCIATE_AC shift, and go to state 81 + T_ASSOCIATE_RJ shift, and go to state 82 + T_RELEASE_RQ shift, and go to state 83 + T_RELEASE_RP shift, and go to state 84 + T_ABORT_RQ shift, and go to state 85 COMMANDFIELD shift, and go to state 67 - SendList go to state 136 - AcseContents go to state 137 - AssociateRqContents go to state 119 - AssociateAcContents go to state 120 - AssociateRjContents go to state 121 - ReleaseRqContents go to state 122 - ReleaseRpContents go to state 123 - AbortRqContents go to state 124 - AssociateRq go to state 125 - AssociateAc go to state 126 - AssociateRj go to state 127 - ReleaseRq go to state 128 - ReleaseRp go to state 129 - AbortRq go to state 130 - SopContents go to state 138 - CommandContents go to state 132 - Command go to state 133 + SendList go to state 137 + AcseContents go to state 138 + AssociateRqContents go to state 120 + AssociateAcContents go to state 121 + AssociateRjContents go to state 122 + ReleaseRqContents go to state 123 + ReleaseRpContents go to state 124 + AbortRqContents go to state 125 + AssociateRq go to state 126 + AssociateAc go to state 127 + AssociateRj go to state 128 + ReleaseRq go to state 129 + ReleaseRp go to state 130 + AbortRq go to state 131 + SopContents go to state 139 + CommandContents go to state 133 + Command go to state 134 DimseCmd go to state 71 - CommandRef go to state 134 + CommandRef go to state 135 state 17 - SetCommand -> T_SET . SetList (rule 71) + SetCommand -> T_SET . SetList (rule 72) - T_ASSOCIATE_RQ shift, and go to state 79 - T_ASSOCIATE_AC shift, and go to state 80 - T_ASSOCIATE_RJ shift, and go to state 81 - T_RELEASE_RQ shift, and go to state 82 - T_RELEASE_RP shift, and go to state 83 - T_ABORT_RQ shift, and go to state 84 - T_FILEHEAD shift, and go to state 85 - T_FILETAIL shift, and go to state 86 + T_ASSOCIATE_RQ shift, and go to state 80 + T_ASSOCIATE_AC shift, and go to state 81 + T_ASSOCIATE_RJ shift, and go to state 82 + T_RELEASE_RQ shift, and go to state 83 + T_RELEASE_RP shift, and go to state 84 + T_ABORT_RQ shift, and go to state 85 + T_FILEHEAD shift, and go to state 86 + T_FILETAIL shift, and go to state 87 COMMANDFIELD shift, and go to state 67 IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - SetList go to state 139 - AcseContents go to state 140 - AssociateRqContents go to state 119 - AssociateAcContents go to state 120 - AssociateRjContents go to state 121 - ReleaseRqContents go to state 122 - ReleaseRpContents go to state 123 - AbortRqContents go to state 124 - AssociateRq go to state 125 - AssociateAc go to state 126 - AssociateRj go to state 127 - ReleaseRq go to state 128 - ReleaseRp go to state 129 - AbortRq go to state 130 - CommandContents go to state 141 - Command go to state 142 + SetList go to state 140 + AcseContents go to state 141 + AssociateRqContents go to state 120 + AssociateAcContents go to state 121 + AssociateRjContents go to state 122 + ReleaseRqContents go to state 123 + ReleaseRpContents go to state 124 + AbortRqContents go to state 125 + AssociateRq go to state 126 + AssociateAc go to state 127 + AssociateRj go to state 128 + ReleaseRq go to state 129 + ReleaseRp go to state 130 + AbortRq go to state 131 + CommandContents go to state 142 + Command go to state 143 DimseCmd go to state 71 - CommandRef go to state 134 - DatasetContents go to state 143 - DatasetRef go to state 144 - Dataset go to state 145 + CommandRef go to state 135 + DatasetContents go to state 144 + DatasetRef go to state 145 + Dataset go to state 146 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 - FileheadContents go to state 146 - Filehead go to state 147 - FiletailContents go to state 148 - Filetail go to state 149 + FileheadContents go to state 147 + Filehead go to state 148 + FiletailContents go to state 149 + Filetail go to state 150 state 18 - SystemCommand -> T_SYSTEM . STRING (rule 72) + SystemCommand -> T_SYSTEM . STRING (rule 73) - STRING shift, and go to state 150 + STRING shift, and go to state 151 state 19 - TimeCommand -> T_TIME . (rule 73) + TimeCommand -> T_TIME . (rule 74) - $default reduce using rule 73 (TimeCommand) + $default reduce using rule 74 (TimeCommand) state 20 - ValidateCommand -> T_VALIDATE . ValidateList (rule 74) + ValidateCommand -> T_VALIDATE . ValidateList (rule 75) COMMANDFIELD shift, and go to state 67 - ValidateList go to state 151 - SourceSopRef go to state 152 - DimseCmd go to state 153 + ValidateList go to state 152 + SourceSopRef go to state 153 + DimseCmd go to state 154 state 21 - VerboseCommand -> T_VERBOSE . T_ON (rule 75) - VerboseCommand -> T_VERBOSE . T_OFF (rule 76) + VerboseCommand -> T_VERBOSE . T_ON (rule 76) + VerboseCommand -> T_VERBOSE . T_OFF (rule 77) - T_ON shift, and go to state 154 - T_OFF shift, and go to state 155 + T_ON shift, and go to state 155 + T_OFF shift, and go to state 156 state 22 - WriteCommand -> T_WRITE . WriteList (rule 77) + WriteCommand -> T_WRITE . WriteList (rule 78) - STRING shift, and go to state 156 + STRING shift, and go to state 157 - WriteList go to state 157 + WriteList go to state 158 state 23 - ImportCommand -> T_IMPORT . ImportList (rule 62) + ImportCommand -> T_IMPORT . ImportList (rule 63) COMMANDFIELD shift, and go to state 67 - ImportList go to state 158 - DimseCmd go to state 159 + ImportList go to state 159 + DimseCmd go to state 160 state 24 - ExportCommand -> T_EXPORT . ExportList (rule 50) + ExportCommand -> T_EXPORT . ExportList (rule 51) - T_ASSOCIATE_RQ shift, and go to state 79 - T_ASSOCIATE_AC shift, and go to state 80 - T_ASSOCIATE_RJ shift, and go to state 81 - T_RELEASE_RQ shift, and go to state 82 - T_RELEASE_RP shift, and go to state 83 - T_ABORT_RQ shift, and go to state 84 + T_ASSOCIATE_RQ shift, and go to state 80 + T_ASSOCIATE_AC shift, and go to state 81 + T_ASSOCIATE_RJ shift, and go to state 82 + T_RELEASE_RQ shift, and go to state 83 + T_RELEASE_RP shift, and go to state 84 + T_ABORT_RQ shift, and go to state 85 COMMANDFIELD shift, and go to state 67 - ExportList go to state 160 - ExportAcseObject go to state 161 - ExportDimseObjects go to state 162 - AssociateRq go to state 163 - AssociateAc go to state 164 - AssociateRj go to state 165 - ReleaseRq go to state 166 - ReleaseRp go to state 167 - AbortRq go to state 168 - DimseCmd go to state 169 + ExportList go to state 161 + ExportAcseObject go to state 162 + ExportDimseObjects go to state 163 + AssociateRq go to state 164 + AssociateAc go to state 165 + AssociateRj go to state 166 + ReleaseRq go to state 167 + ReleaseRp go to state 168 + AbortRq go to state 169 + DimseCmd go to state 170 state 25 - ValidationFlagCommand -> T_VALIDATION . VALIDATIONFLAG (rule 79) + ValidationFlagCommand -> T_VALIDATION . VALIDATIONFLAG (rule 80) - VALIDATIONFLAG shift, and go to state 170 + VALIDATIONFLAG shift, and go to state 171 state 26 - DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH . T_ON (rule 80) - DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH . T_OFF (rule 81) + DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH . T_ON (rule 81) + DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH . T_OFF (rule 82) - T_ON shift, and go to state 171 - T_OFF shift, and go to state 172 + T_ON shift, and go to state 172 + T_OFF shift, and go to state 173 state 27 - AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH . T_ON (rule 82) - AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH . T_OFF (rule 83) + AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH . T_ON (rule 83) + AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH . T_OFF (rule 84) - T_ON shift, and go to state 173 - T_OFF shift, and go to state 174 + T_ON shift, and go to state 174 + T_OFF shift, and go to state 175 state 28 - StrictValidationFlagCommand -> T_STRICT . T_ON (rule 84) - StrictValidationFlagCommand -> T_STRICT . T_OFF (rule 85) + StrictValidationFlagCommand -> T_STRICT . T_ON (rule 85) + StrictValidationFlagCommand -> T_STRICT . T_OFF (rule 86) - T_ON shift, and go to state 175 - T_OFF shift, and go to state 176 + T_ON shift, and go to state 176 + T_OFF shift, and go to state 177 state 29 - ApplicationEntityFlagCommand -> T_APPL_ENTITY . STRING STRING (rule 78) + ApplicationEntityFlagCommand -> T_APPL_ENTITY . STRING STRING (rule 79) - STRING shift, and go to state 177 + STRING shift, and go to state 178 @@ -1299,7 +1303,7 @@ state 30 $default reduce using rule 2 (Language) - LanguageComponents go to state 178 + LanguageComponents go to state 179 LanguageSpecifier go to state 32 ResetCommand go to state 33 CompareCommand go to state 34 @@ -1566,16 +1570,16 @@ state 59 state 60 - DisplayCommand -> DisplayTagList . (rule 46) - DisplayTagList -> DisplayTagList . TagRef (rule 99) + DisplayCommand -> DisplayTagList . (rule 47) + DisplayTagList -> DisplayTagList . TagRef (rule 100) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - $default reduce using rule 46 (DisplayCommand) + $default reduce using rule 47 (DisplayCommand) - AttributeTag go to state 181 - TagRef go to state 182 + AttributeTag go to state 182 + TagRef go to state 183 @@ -1629,87 +1633,87 @@ state 66 state 67 - DimseCmd -> COMMANDFIELD . (rule 235) + DimseCmd -> COMMANDFIELD . (rule 236) - $default reduce using rule 235 (DimseCmd) + $default reduce using rule 236 (DimseCmd) state 68 - IomLevel -> IOMLEVEL . (rule 246) + IomLevel -> IOMLEVEL . (rule 247) - $default reduce using rule 246 (IomLevel) + $default reduce using rule 247 (IomLevel) state 69 - IodName -> STRING . (rule 247) + IodName -> STRING . (rule 248) - $default reduce using rule 247 (IodName) + $default reduce using rule 248 (IodName) state 70 - ObjectRef1 -> Command . (rule 294) + ObjectRef1 -> Command . (rule 295) - $default reduce using rule 294 (ObjectRef1) + $default reduce using rule 295 (ObjectRef1) state 71 - Command -> DimseCmd . (rule 233) - Command -> DimseCmd . CommandIdentifier (rule 234) + Command -> DimseCmd . (rule 234) + Command -> DimseCmd . CommandIdentifier (rule 235) - IDENTIFIER shift, and go to state 183 + IDENTIFIER shift, and go to state 184 - $default reduce using rule 233 (Command) + $default reduce using rule 234 (Command) - CommandIdentifier go to state 184 + CommandIdentifier go to state 185 state 72 - ObjectRef1 -> Dataset . (rule 295) + ObjectRef1 -> Dataset . (rule 296) - $default reduce using rule 295 (ObjectRef1) + $default reduce using rule 296 (ObjectRef1) state 73 - Dataset -> IomIod . (rule 242) - Dataset -> IomIod . DatasetIdentifier (rule 243) + Dataset -> IomIod . (rule 243) + Dataset -> IomIod . DatasetIdentifier (rule 244) - IDENTIFIER shift, and go to state 185 - STRING shift, and go to state 186 + IDENTIFIER shift, and go to state 186 + STRING shift, and go to state 187 - STRING [reduce using rule 242 (Dataset)] - $default reduce using rule 242 (Dataset) + STRING [reduce using rule 243 (Dataset)] + $default reduce using rule 243 (Dataset) - DatasetIdentifier go to state 187 + DatasetIdentifier go to state 188 state 74 - IomIod -> IomLevel . IodName (rule 245) + IomIod -> IomLevel . IodName (rule 246) STRING shift, and go to state 69 - IodName go to state 188 + IodName go to state 189 state 75 - IomIod -> IodName . (rule 244) + IomIod -> IodName . (rule 245) - $default reduce using rule 244 (IomIod) + $default reduce using rule 245 (IomIod) @@ -1717,12 +1721,12 @@ state 76 CompareCommand -> T_COMPARE ObjectRef1 . TagRef1 ObjectRef2 TagRef2 (rule 39) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - AttributeTag go to state 181 - TagRef1 go to state 189 - TagRef go to state 190 + AttributeTag go to state 182 + TagRef1 go to state 190 + TagRef go to state 191 @@ -1730,136 +1734,136 @@ state 77 CompareCommand -> T_COMPARE_NOT ObjectRef1 . TagRef1 ObjectRef2 TagRef2 (rule 40) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - AttributeTag go to state 181 - TagRef1 go to state 191 - TagRef go to state 190 + AttributeTag go to state 182 + TagRef1 go to state 192 + TagRef go to state 191 state 78 - CopyCommand -> T_COPY ObjectRef1 . TagRef1 ObjectRef2 TagRef2 (rule 42) + ConfirmCommand -> T_CONFIRM STRING . (rule 42) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 - - AttributeTag go to state 181 - TagRef1 go to state 192 - TagRef go to state 190 + $default reduce using rule 42 (ConfirmCommand) state 79 - AssociateRq -> T_ASSOCIATE_RQ . (rule 220) + CopyCommand -> T_COPY ObjectRef1 . TagRef1 ObjectRef2 TagRef2 (rule 43) - $default reduce using rule 220 (AssociateRq) + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 + + AttributeTag go to state 182 + TagRef1 go to state 193 + TagRef go to state 191 state 80 - AssociateAc -> T_ASSOCIATE_AC . (rule 221) + AssociateRq -> T_ASSOCIATE_RQ . (rule 221) - $default reduce using rule 221 (AssociateAc) + $default reduce using rule 221 (AssociateRq) state 81 - AssociateRj -> T_ASSOCIATE_RJ . (rule 222) + AssociateAc -> T_ASSOCIATE_AC . (rule 222) - $default reduce using rule 222 (AssociateRj) + $default reduce using rule 222 (AssociateAc) state 82 - ReleaseRq -> T_RELEASE_RQ . (rule 223) + AssociateRj -> T_ASSOCIATE_RJ . (rule 223) - $default reduce using rule 223 (ReleaseRq) + $default reduce using rule 223 (AssociateRj) state 83 - ReleaseRp -> T_RELEASE_RP . (rule 224) + ReleaseRq -> T_RELEASE_RQ . (rule 224) - $default reduce using rule 224 (ReleaseRp) + $default reduce using rule 224 (ReleaseRq) state 84 - AbortRq -> T_ABORT_RQ . (rule 225) + ReleaseRp -> T_RELEASE_RP . (rule 225) - $default reduce using rule 225 (AbortRq) + $default reduce using rule 225 (ReleaseRp) state 85 - Filehead -> T_FILEHEAD . (rule 304) + AbortRq -> T_ABORT_RQ . (rule 226) - $default reduce using rule 304 (Filehead) + $default reduce using rule 226 (AbortRq) state 86 - Filetail -> T_FILETAIL . (rule 315) + Filehead -> T_FILEHEAD . (rule 305) - $default reduce using rule 315 (Filetail) + $default reduce using rule 305 (Filehead) state 87 - SequenceRef -> T_OPEN_BRACKET . Dataset TagRef ItemNumber T_CLOSE_BRACKET (rule 298) - SequenceRef -> T_OPEN_BRACKET . SequenceRef TagRef ItemNumber T_CLOSE_BRACKET (rule 299) - - T_OPEN_BRACKET shift, and go to state 87 - IOMLEVEL shift, and go to state 68 - STRING shift, and go to state 69 + Filetail -> T_FILETAIL . (rule 316) - Dataset go to state 193 - IomIod go to state 73 - IomLevel go to state 74 - IodName go to state 75 - SequenceRef go to state 194 + $default reduce using rule 316 (Filetail) state 88 - CreateCommand -> T_CREATE CreateList . (rule 43) + SequenceRef -> T_OPEN_BRACKET . Dataset TagRef ItemNumber T_CLOSE_BRACKET (rule 299) + SequenceRef -> T_OPEN_BRACKET . SequenceRef TagRef ItemNumber T_CLOSE_BRACKET (rule 300) - $default reduce using rule 43 (CreateCommand) + T_OPEN_BRACKET shift, and go to state 88 + IOMLEVEL shift, and go to state 68 + STRING shift, and go to state 69 + + Dataset go to state 194 + IomIod go to state 73 + IomLevel go to state 74 + IodName go to state 75 + SequenceRef go to state 195 state 89 - CreateList -> Acse . (rule 86) + CreateCommand -> T_CREATE CreateList . (rule 44) - $default reduce using rule 86 (CreateList) + $default reduce using rule 44 (CreateCommand) state 90 - Acse -> AssociateRq . (rule 129) + CreateList -> Acse . (rule 87) - $default reduce using rule 129 (Acse) + $default reduce using rule 87 (CreateList) state 91 - Acse -> AssociateAc . (rule 130) + Acse -> AssociateRq . (rule 130) $default reduce using rule 130 (Acse) @@ -1867,7 +1871,7 @@ state 91 state 92 - Acse -> AssociateRj . (rule 131) + Acse -> AssociateAc . (rule 131) $default reduce using rule 131 (Acse) @@ -1875,7 +1879,7 @@ state 92 state 93 - Acse -> ReleaseRq . (rule 132) + Acse -> AssociateRj . (rule 132) $default reduce using rule 132 (Acse) @@ -1883,7 +1887,7 @@ state 93 state 94 - Acse -> ReleaseRp . (rule 133) + Acse -> ReleaseRq . (rule 133) $default reduce using rule 133 (Acse) @@ -1891,7 +1895,7 @@ state 94 state 95 - Acse -> AbortRq . (rule 134) + Acse -> ReleaseRp . (rule 134) $default reduce using rule 134 (Acse) @@ -1899,65 +1903,65 @@ state 95 state 96 - CreateList -> Sop . (rule 87) + Acse -> AbortRq . (rule 135) - $default reduce using rule 87 (CreateList) + $default reduce using rule 135 (Acse) state 97 - Sop -> Command . (rule 226) - Sop -> Command . Dataset (rule 227) + CreateList -> Sop . (rule 88) + + $default reduce using rule 88 (CreateList) + + + +state 98 + + Sop -> Command . (rule 227) + Sop -> Command . Dataset (rule 228) IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - $default reduce using rule 226 (Sop) + $default reduce using rule 227 (Sop) - Dataset go to state 195 + Dataset go to state 196 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 -state 98 +state 99 - CreateList -> Dataset . (rule 88) - CreateList -> Dataset . T_DEFINED_LENGTH (rule 89) + CreateList -> Dataset . (rule 89) + CreateList -> Dataset . T_DEFINED_LENGTH (rule 90) - T_DEFINED_LENGTH shift, and go to state 196 + T_DEFINED_LENGTH shift, and go to state 197 - $default reduce using rule 88 (CreateList) + $default reduce using rule 89 (CreateList) -state 99 +state 100 - CreateList -> SequenceRef . Dataset (rule 90) + CreateList -> SequenceRef . Dataset (rule 91) IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - Dataset go to state 197 + Dataset go to state 198 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 -state 100 - - CreateList -> Filehead . (rule 91) - - $default reduce using rule 91 (CreateList) - - - state 101 - CreateList -> Filetail . (rule 92) + CreateList -> Filehead . (rule 92) $default reduce using rule 92 (CreateList) @@ -1965,23 +1969,23 @@ state 101 state 102 - DelayCommand -> T_DELAY INTEGER . (rule 44) + CreateList -> Filetail . (rule 93) - $default reduce using rule 44 (DelayCommand) + $default reduce using rule 93 (CreateList) state 103 - DeleteList -> T_FILEHEAD . (rule 96) + DelayCommand -> T_DELAY INTEGER . (rule 45) - $default reduce using rule 96 (DeleteList) + $default reduce using rule 45 (DelayCommand) state 104 - DeleteList -> T_FILETAIL . (rule 97) + DeleteList -> T_FILEHEAD . (rule 97) $default reduce using rule 97 (DeleteList) @@ -1989,23 +1993,23 @@ state 104 state 105 - DeleteCommand -> T_DELETE DeleteList . (rule 45) + DeleteList -> T_FILETAIL . (rule 98) - $default reduce using rule 45 (DeleteCommand) + $default reduce using rule 98 (DeleteList) state 106 - DeleteList -> Acse . (rule 93) + DeleteCommand -> T_DELETE DeleteList . (rule 46) - $default reduce using rule 93 (DeleteList) + $default reduce using rule 46 (DeleteCommand) state 107 - DeleteList -> Command . (rule 94) + DeleteList -> Acse . (rule 94) $default reduce using rule 94 (DeleteList) @@ -2013,7 +2017,7 @@ state 107 state 108 - DeleteList -> Dataset . (rule 95) + DeleteList -> Command . (rule 95) $default reduce using rule 95 (DeleteList) @@ -2021,46 +2025,46 @@ state 108 state 109 - DisplayCommand -> T_DISPLAY T_WAREHOUSE . (rule 48) + DeleteList -> Dataset . (rule 96) - $default reduce using rule 48 (DisplayCommand) + $default reduce using rule 96 (DeleteList) state 110 - DisplayCommand -> T_DISPLAY ObjectRef1 . (rule 47) - DisplayTagList -> T_DISPLAY ObjectRef1 . TagRef (rule 98) + DisplayCommand -> T_DISPLAY T_WAREHOUSE . (rule 49) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + $default reduce using rule 49 (DisplayCommand) - $default reduce using rule 47 (DisplayCommand) - AttributeTag go to state 181 - TagRef go to state 198 +state 111 + DisplayCommand -> T_DISPLAY ObjectRef1 . (rule 48) + DisplayTagList -> T_DISPLAY ObjectRef1 . TagRef (rule 99) -state 111 + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - EchoCommand -> T_ECHO STRING . (rule 49) + $default reduce using rule 48 (DisplayCommand) - $default reduce using rule 49 (EchoCommand) + AttributeTag go to state 182 + TagRef go to state 199 state 112 - PopulateCommand -> T_POPULATE T_ON . (rule 65) + EchoCommand -> T_ECHO STRING . (rule 50) - $default reduce using rule 65 (PopulateCommand) + $default reduce using rule 50 (EchoCommand) state 113 - PopulateCommand -> T_POPULATE T_OFF . (rule 66) + PopulateCommand -> T_POPULATE T_ON . (rule 66) $default reduce using rule 66 (PopulateCommand) @@ -2068,68 +2072,68 @@ state 113 state 114 - ReadList -> STRING . Dataset (rule 100) - ReadList -> STRING . HEXADECIMAL (rule 101) + PopulateCommand -> T_POPULATE T_OFF . (rule 67) - HEXADECIMAL shift, and go to state 199 - IOMLEVEL shift, and go to state 68 - STRING shift, and go to state 69 - - Dataset go to state 200 - IomIod go to state 73 - IomLevel go to state 74 - IodName go to state 75 + $default reduce using rule 67 (PopulateCommand) state 115 - ReadCommand -> T_READ ReadList . (rule 67) + ReadList -> STRING . Dataset (rule 101) + ReadList -> STRING . HEXADECIMAL (rule 102) + + HEXADECIMAL shift, and go to state 200 + IOMLEVEL shift, and go to state 68 + STRING shift, and go to state 69 - $default reduce using rule 67 (ReadCommand) + Dataset go to state 201 + IomIod go to state 73 + IomLevel go to state 74 + IodName go to state 75 state 116 - ReceiveCommand -> T_RECEIVE ReceiveList . (rule 68) + ReadCommand -> T_READ ReadList . (rule 68) - $default reduce using rule 68 (ReceiveCommand) + $default reduce using rule 68 (ReadCommand) state 117 - ReceiveList -> SopList . (rule 103) - SopList -> SopList . T_OR SopContents (rule 124) - SopList -> SopList . T_AND SopContents (rule 125) + ReceiveCommand -> T_RECEIVE ReceiveList . (rule 69) - T_OR shift, and go to state 201 - T_AND shift, and go to state 202 - - $default reduce using rule 103 (ReceiveList) + $default reduce using rule 69 (ReceiveCommand) state 118 - ReceiveList -> AcseContents . (rule 102) + ReceiveList -> SopList . (rule 104) + SopList -> SopList . T_OR SopContents (rule 125) + SopList -> SopList . T_AND SopContents (rule 126) - $default reduce using rule 102 (ReceiveList) + T_OR shift, and go to state 202 + T_AND shift, and go to state 203 + + $default reduce using rule 104 (ReceiveList) state 119 - AcseContents -> AssociateRqContents . (rule 135) + ReceiveList -> AcseContents . (rule 103) - $default reduce using rule 135 (AcseContents) + $default reduce using rule 103 (ReceiveList) state 120 - AcseContents -> AssociateAcContents . (rule 136) + AcseContents -> AssociateRqContents . (rule 136) $default reduce using rule 136 (AcseContents) @@ -2137,7 +2141,7 @@ state 120 state 121 - AcseContents -> AssociateRjContents . (rule 137) + AcseContents -> AssociateAcContents . (rule 137) $default reduce using rule 137 (AcseContents) @@ -2145,7 +2149,7 @@ state 121 state 122 - AcseContents -> ReleaseRqContents . (rule 138) + AcseContents -> AssociateRjContents . (rule 138) $default reduce using rule 138 (AcseContents) @@ -2153,7 +2157,7 @@ state 122 state 123 - AcseContents -> ReleaseRpContents . (rule 139) + AcseContents -> ReleaseRqContents . (rule 139) $default reduce using rule 139 (AcseContents) @@ -2161,7 +2165,7 @@ state 123 state 124 - AcseContents -> AbortRqContents . (rule 140) + AcseContents -> ReleaseRpContents . (rule 140) $default reduce using rule 140 (AcseContents) @@ -2169,140 +2173,137 @@ state 124 state 125 - AssociateRqContents -> AssociateRq . (rule 141) - AssociateRqContents -> AssociateRq . T_OPEN_BRACKET AssociateRqParameterList T_CLOSE_BRACKET (rule 142) + AcseContents -> AbortRqContents . (rule 141) - T_OPEN_BRACKET shift, and go to state 203 - - $default reduce using rule 141 (AssociateRqContents) + $default reduce using rule 141 (AcseContents) state 126 - AssociateAcContents -> AssociateAc . (rule 179) - AssociateAcContents -> AssociateAc . T_OPEN_BRACKET AssociateAcParameterList T_CLOSE_BRACKET (rule 180) + AssociateRqContents -> AssociateRq . (rule 142) + AssociateRqContents -> AssociateRq . T_OPEN_BRACKET AssociateRqParameterList T_CLOSE_BRACKET (rule 143) T_OPEN_BRACKET shift, and go to state 204 - $default reduce using rule 179 (AssociateAcContents) + $default reduce using rule 142 (AssociateRqContents) state 127 - AssociateRjContents -> AssociateRj . (rule 205) - AssociateRjContents -> AssociateRj . T_OPEN_BRACKET AssociateRjParameterList T_CLOSE_BRACKET (rule 206) + AssociateAcContents -> AssociateAc . (rule 180) + AssociateAcContents -> AssociateAc . T_OPEN_BRACKET AssociateAcParameterList T_CLOSE_BRACKET (rule 181) T_OPEN_BRACKET shift, and go to state 205 - $default reduce using rule 205 (AssociateRjContents) + $default reduce using rule 180 (AssociateAcContents) state 128 - ReleaseRqContents -> ReleaseRq . (rule 212) + AssociateRjContents -> AssociateRj . (rule 206) + AssociateRjContents -> AssociateRj . T_OPEN_BRACKET AssociateRjParameterList T_CLOSE_BRACKET (rule 207) + + T_OPEN_BRACKET shift, and go to state 206 - $default reduce using rule 212 (ReleaseRqContents) + $default reduce using rule 206 (AssociateRjContents) state 129 - ReleaseRpContents -> ReleaseRp . (rule 213) + ReleaseRqContents -> ReleaseRq . (rule 213) - $default reduce using rule 213 (ReleaseRpContents) + $default reduce using rule 213 (ReleaseRqContents) state 130 - AbortRqContents -> AbortRq . (rule 214) - AbortRqContents -> AbortRq . T_OPEN_BRACKET AbortRqParameterList T_CLOSE_BRACKET (rule 215) - - T_OPEN_BRACKET shift, and go to state 206 + ReleaseRpContents -> ReleaseRp . (rule 214) - $default reduce using rule 214 (AbortRqContents) + $default reduce using rule 214 (ReleaseRpContents) state 131 - SopList -> SopContents . (rule 123) + AbortRqContents -> AbortRq . (rule 215) + AbortRqContents -> AbortRq . T_OPEN_BRACKET AbortRqParameterList T_CLOSE_BRACKET (rule 216) - $default reduce using rule 123 (SopList) + T_OPEN_BRACKET shift, and go to state 207 + + $default reduce using rule 215 (AbortRqContents) state 132 - SopContents -> CommandContents . (rule 228) + SopList -> SopContents . (rule 124) - $default reduce using rule 228 (SopContents) + $default reduce using rule 124 (SopList) state 133 - SopContents -> Command . DatasetContents (rule 229) - CommandContents -> Command . (rule 230) - CommandRef -> Command . (rule 237) + SopContents -> CommandContents . (rule 229) - IOMLEVEL shift, and go to state 68 - STRING shift, and go to state 69 + $default reduce using rule 229 (SopContents) - T_OPEN_BRACKET reduce using rule 237 (CommandRef) - $default reduce using rule 230 (CommandContents) - DatasetContents go to state 207 - DatasetRef go to state 144 - Dataset go to state 145 - IomIod go to state 73 - IomLevel go to state 74 - IodName go to state 75 +state 134 + SopContents -> Command . DatasetContents (rule 230) + CommandContents -> Command . (rule 231) + CommandRef -> Command . (rule 238) -state 134 + IOMLEVEL shift, and go to state 68 + STRING shift, and go to state 69 - CommandContents -> CommandRef . T_OPEN_BRACKET T_CLOSE_BRACKET (rule 231) - CommandContents -> CommandRef . T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET (rule 232) + T_OPEN_BRACKET reduce using rule 238 (CommandRef) + $default reduce using rule 231 (CommandContents) - T_OPEN_BRACKET shift, and go to state 208 + DatasetContents go to state 208 + DatasetRef go to state 145 + Dataset go to state 146 + IomIod go to state 73 + IomLevel go to state 74 + IodName go to state 75 state 135 - RoleCommand -> T_ROLE USERPROVIDER . (rule 69) + CommandContents -> CommandRef . T_OPEN_BRACKET T_CLOSE_BRACKET (rule 232) + CommandContents -> CommandRef . T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET (rule 233) - $default reduce using rule 69 (RoleCommand) + T_OPEN_BRACKET shift, and go to state 209 state 136 - SendCommand -> T_SEND SendList . (rule 70) + RoleCommand -> T_ROLE USERPROVIDER . (rule 70) - $default reduce using rule 70 (SendCommand) + $default reduce using rule 70 (RoleCommand) state 137 - SendList -> AcseContents . (rule 104) + SendCommand -> T_SEND SendList . (rule 71) - $default reduce using rule 104 (SendList) + $default reduce using rule 71 (SendCommand) state 138 - SendList -> SopContents . (rule 105) - SendList -> SopContents . T_PRES_CTX PresentationContextId (rule 106) - - T_PRES_CTX shift, and go to state 209 + SendList -> AcseContents . (rule 105) $default reduce using rule 105 (SendList) @@ -2310,23 +2311,26 @@ state 138 state 139 - SetCommand -> T_SET SetList . (rule 71) + SendList -> SopContents . (rule 106) + SendList -> SopContents . T_PRES_CTX PresentationContextId (rule 107) - $default reduce using rule 71 (SetCommand) + T_PRES_CTX shift, and go to state 210 + + $default reduce using rule 106 (SendList) state 140 - SetList -> AcseContents . (rule 109) + SetCommand -> T_SET SetList . (rule 72) - $default reduce using rule 109 (SetList) + $default reduce using rule 72 (SetCommand) state 141 - SetList -> CommandContents . (rule 110) + SetList -> AcseContents . (rule 110) $default reduce using rule 110 (SetList) @@ -2334,131 +2338,131 @@ state 141 state 142 - CommandContents -> Command . (rule 230) - CommandRef -> Command . (rule 237) + SetList -> CommandContents . (rule 111) - T_OPEN_BRACKET reduce using rule 237 (CommandRef) - $default reduce using rule 230 (CommandContents) + $default reduce using rule 111 (SetList) state 143 - SetList -> DatasetContents . (rule 111) + CommandContents -> Command . (rule 231) + CommandRef -> Command . (rule 238) - $default reduce using rule 111 (SetList) + T_OPEN_BRACKET reduce using rule 238 (CommandRef) + $default reduce using rule 231 (CommandContents) state 144 - DatasetContents -> DatasetRef . T_OPEN_BRACKET T_CLOSE_BRACKET (rule 239) - DatasetContents -> DatasetRef . T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET (rule 240) + SetList -> DatasetContents . (rule 112) - T_OPEN_BRACKET shift, and go to state 210 + $default reduce using rule 112 (SetList) state 145 - DatasetContents -> Dataset . (rule 238) - DatasetRef -> Dataset . (rule 241) + DatasetContents -> DatasetRef . T_OPEN_BRACKET T_CLOSE_BRACKET (rule 240) + DatasetContents -> DatasetRef . T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET (rule 241) - T_OPEN_BRACKET reduce using rule 241 (DatasetRef) - $default reduce using rule 238 (DatasetContents) + T_OPEN_BRACKET shift, and go to state 211 state 146 - SetList -> FileheadContents . (rule 112) + DatasetContents -> Dataset . (rule 239) + DatasetRef -> Dataset . (rule 242) - $default reduce using rule 112 (SetList) + T_OPEN_BRACKET reduce using rule 242 (DatasetRef) + $default reduce using rule 239 (DatasetContents) state 147 - FileheadContents -> Filehead . (rule 302) - FileheadContents -> Filehead . T_OPEN_BRACKET FileheadParameterList T_CLOSE_BRACKET (rule 303) + SetList -> FileheadContents . (rule 113) - T_OPEN_BRACKET shift, and go to state 211 - - $default reduce using rule 302 (FileheadContents) + $default reduce using rule 113 (SetList) state 148 - SetList -> FiletailContents . (rule 113) + FileheadContents -> Filehead . (rule 303) + FileheadContents -> Filehead . T_OPEN_BRACKET FileheadParameterList T_CLOSE_BRACKET (rule 304) - $default reduce using rule 113 (SetList) + T_OPEN_BRACKET shift, and go to state 212 + $default reduce using rule 303 (FileheadContents) -state 149 - FiletailContents -> Filetail . (rule 313) - FiletailContents -> Filetail . T_OPEN_BRACKET FiletailParameterList T_CLOSE_BRACKET (rule 314) +state 149 - T_OPEN_BRACKET shift, and go to state 212 + SetList -> FiletailContents . (rule 114) - $default reduce using rule 313 (FiletailContents) + $default reduce using rule 114 (SetList) state 150 - SystemCommand -> T_SYSTEM STRING . (rule 72) + FiletailContents -> Filetail . (rule 314) + FiletailContents -> Filetail . T_OPEN_BRACKET FiletailParameterList T_CLOSE_BRACKET (rule 315) - $default reduce using rule 72 (SystemCommand) + T_OPEN_BRACKET shift, and go to state 213 + + $default reduce using rule 314 (FiletailContents) state 151 - ValidateCommand -> T_VALIDATE ValidateList . (rule 74) + SystemCommand -> T_SYSTEM STRING . (rule 73) - $default reduce using rule 74 (ValidateCommand) + $default reduce using rule 73 (SystemCommand) state 152 - ValidateList -> SourceSopRef . ReferenceSopList (rule 114) + ValidateCommand -> T_VALIDATE ValidateList . (rule 75) - COMMANDFIELD shift, and go to state 67 - - $default reduce using rule 117 (ReferenceSopList) - - ReferenceSopList go to state 213 - ReferenceSopRef go to state 214 - DimseCmd go to state 215 + $default reduce using rule 75 (ValidateCommand) state 153 - SourceSopRef -> DimseCmd . CommandIdentifier (rule 115) - SourceSopRef -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 116) + ValidateList -> SourceSopRef . ReferenceSopList (rule 115) + + COMMANDFIELD shift, and go to state 67 - IDENTIFIER shift, and go to state 183 + $default reduce using rule 118 (ReferenceSopList) - CommandIdentifier go to state 216 + ReferenceSopList go to state 214 + ReferenceSopRef go to state 215 + DimseCmd go to state 216 state 154 - VerboseCommand -> T_VERBOSE T_ON . (rule 75) + SourceSopRef -> DimseCmd . CommandIdentifier (rule 116) + SourceSopRef -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 117) - $default reduce using rule 75 (VerboseCommand) + IDENTIFIER shift, and go to state 184 + + CommandIdentifier go to state 217 state 155 - VerboseCommand -> T_VERBOSE T_OFF . (rule 76) + VerboseCommand -> T_VERBOSE T_ON . (rule 76) $default reduce using rule 76 (VerboseCommand) @@ -2466,68 +2470,68 @@ state 155 state 156 - WriteList -> STRING . T_FILEHEAD (rule 126) - WriteList -> STRING . T_FILETAIL (rule 127) - WriteList -> STRING . Dataset (rule 128) - - T_FILEHEAD shift, and go to state 217 - T_FILETAIL shift, and go to state 218 - IOMLEVEL shift, and go to state 68 - STRING shift, and go to state 69 + VerboseCommand -> T_VERBOSE T_OFF . (rule 77) - Dataset go to state 219 - IomIod go to state 73 - IomLevel go to state 74 - IodName go to state 75 + $default reduce using rule 77 (VerboseCommand) state 157 - WriteCommand -> T_WRITE WriteList . (rule 77) + WriteList -> STRING . T_FILEHEAD (rule 127) + WriteList -> STRING . T_FILETAIL (rule 128) + WriteList -> STRING . Dataset (rule 129) + + T_FILEHEAD shift, and go to state 218 + T_FILETAIL shift, and go to state 219 + IOMLEVEL shift, and go to state 68 + STRING shift, and go to state 69 - $default reduce using rule 77 (WriteCommand) + Dataset go to state 220 + IomIod go to state 73 + IomLevel go to state 74 + IodName go to state 75 state 158 - ImportCommand -> T_IMPORT ImportList . (rule 62) + WriteCommand -> T_WRITE WriteList . (rule 78) - $default reduce using rule 62 (ImportCommand) + $default reduce using rule 78 (WriteCommand) state 159 - ImportList -> DimseCmd . CommandIdentifier (rule 63) - ImportList -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 64) - - IDENTIFIER shift, and go to state 183 + ImportCommand -> T_IMPORT ImportList . (rule 63) - CommandIdentifier go to state 220 + $default reduce using rule 63 (ImportCommand) state 160 - ExportCommand -> T_EXPORT ExportList . (rule 50) + ImportList -> DimseCmd . CommandIdentifier (rule 64) + ImportList -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 65) - $default reduce using rule 50 (ExportCommand) + IDENTIFIER shift, and go to state 184 + + CommandIdentifier go to state 221 state 161 - ExportList -> ExportAcseObject . (rule 51) + ExportCommand -> T_EXPORT ExportList . (rule 51) - $default reduce using rule 51 (ExportList) + $default reduce using rule 51 (ExportCommand) state 162 - ExportList -> ExportDimseObjects . (rule 52) + ExportList -> ExportAcseObject . (rule 52) $default reduce using rule 52 (ExportList) @@ -2535,15 +2539,15 @@ state 162 state 163 - ExportAcseObject -> AssociateRq . (rule 53) + ExportList -> ExportDimseObjects . (rule 53) - $default reduce using rule 53 (ExportAcseObject) + $default reduce using rule 53 (ExportList) state 164 - ExportAcseObject -> AssociateAc . (rule 54) + ExportAcseObject -> AssociateRq . (rule 54) $default reduce using rule 54 (ExportAcseObject) @@ -2551,7 +2555,7 @@ state 164 state 165 - ExportAcseObject -> AssociateRj . (rule 55) + ExportAcseObject -> AssociateAc . (rule 55) $default reduce using rule 55 (ExportAcseObject) @@ -2559,7 +2563,7 @@ state 165 state 166 - ExportAcseObject -> ReleaseRq . (rule 56) + ExportAcseObject -> AssociateRj . (rule 56) $default reduce using rule 56 (ExportAcseObject) @@ -2567,7 +2571,7 @@ state 166 state 167 - ExportAcseObject -> ReleaseRp . (rule 57) + ExportAcseObject -> ReleaseRq . (rule 57) $default reduce using rule 57 (ExportAcseObject) @@ -2575,7 +2579,7 @@ state 167 state 168 - ExportAcseObject -> AbortRq . (rule 58) + ExportAcseObject -> ReleaseRp . (rule 58) $default reduce using rule 58 (ExportAcseObject) @@ -2583,35 +2587,35 @@ state 168 state 169 - ExportDimseObjects -> DimseCmd . CommandIdentifier (rule 59) - ExportDimseObjects -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 60) - ExportDimseObjects -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX PresentationContextId (rule 61) + ExportAcseObject -> AbortRq . (rule 59) - IDENTIFIER shift, and go to state 183 - - CommandIdentifier go to state 221 + $default reduce using rule 59 (ExportAcseObject) state 170 - ValidationFlagCommand -> T_VALIDATION VALIDATIONFLAG . (rule 79) + ExportDimseObjects -> DimseCmd . CommandIdentifier (rule 60) + ExportDimseObjects -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 61) + ExportDimseObjects -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX PresentationContextId (rule 62) - $default reduce using rule 79 (ValidationFlagCommand) + IDENTIFIER shift, and go to state 184 + + CommandIdentifier go to state 222 state 171 - DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_ON . (rule 80) + ValidationFlagCommand -> T_VALIDATION VALIDATIONFLAG . (rule 80) - $default reduce using rule 80 (DefineSqLengthFlagCommand) + $default reduce using rule 80 (ValidationFlagCommand) state 172 - DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_OFF . (rule 81) + DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_ON . (rule 81) $default reduce using rule 81 (DefineSqLengthFlagCommand) @@ -2619,15 +2623,15 @@ state 172 state 173 - AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_ON . (rule 82) + DefineSqLengthFlagCommand -> T_DEF_SQ_LENGTH T_OFF . (rule 82) - $default reduce using rule 82 (AddGroupLengthFlagCommand) + $default reduce using rule 82 (DefineSqLengthFlagCommand) state 174 - AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_OFF . (rule 83) + AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_ON . (rule 83) $default reduce using rule 83 (AddGroupLengthFlagCommand) @@ -2635,15 +2639,15 @@ state 174 state 175 - StrictValidationFlagCommand -> T_STRICT T_ON . (rule 84) + AddGroupLengthFlagCommand -> T_ADD_GROUP_LENGTH T_OFF . (rule 84) - $default reduce using rule 84 (StrictValidationFlagCommand) + $default reduce using rule 84 (AddGroupLengthFlagCommand) state 176 - StrictValidationFlagCommand -> T_STRICT T_OFF . (rule 85) + StrictValidationFlagCommand -> T_STRICT T_ON . (rule 85) $default reduce using rule 85 (StrictValidationFlagCommand) @@ -2651,79 +2655,79 @@ state 176 state 177 - ApplicationEntityFlagCommand -> T_APPL_ENTITY STRING . STRING (rule 78) + StrictValidationFlagCommand -> T_STRICT T_OFF . (rule 86) - STRING shift, and go to state 222 + $default reduce using rule 86 (StrictValidationFlagCommand) state 178 - LanguageGrammar -> LanguageGrammar LanguageComponents . (rule 4) + ApplicationEntityFlagCommand -> T_APPL_ENTITY STRING . STRING (rule 79) - $default reduce using rule 4 (LanguageGrammar) + STRING shift, and go to state 223 state 179 - AttributeTag -> HEXADECIMAL . (rule 255) + LanguageGrammar -> LanguageGrammar LanguageComponents . (rule 4) - $default reduce using rule 255 (AttributeTag) + $default reduce using rule 4 (LanguageGrammar) state 180 - TagRef -> STRING . (rule 293) + AttributeTag -> HEXADECIMAL . (rule 256) - $default reduce using rule 293 (TagRef) + $default reduce using rule 256 (AttributeTag) state 181 - TagRef -> AttributeTag . (rule 292) + TagRef -> STRING . (rule 294) - $default reduce using rule 292 (TagRef) + $default reduce using rule 294 (TagRef) state 182 - DisplayTagList -> DisplayTagList TagRef . (rule 99) + TagRef -> AttributeTag . (rule 293) - $default reduce using rule 99 (DisplayTagList) + $default reduce using rule 293 (TagRef) state 183 - CommandIdentifier -> IDENTIFIER . (rule 236) + DisplayTagList -> DisplayTagList TagRef . (rule 100) - $default reduce using rule 236 (CommandIdentifier) + $default reduce using rule 100 (DisplayTagList) state 184 - Command -> DimseCmd CommandIdentifier . (rule 234) + CommandIdentifier -> IDENTIFIER . (rule 237) - $default reduce using rule 234 (Command) + $default reduce using rule 237 (CommandIdentifier) state 185 - DatasetIdentifier -> IDENTIFIER . (rule 248) + Command -> DimseCmd CommandIdentifier . (rule 235) - $default reduce using rule 248 (DatasetIdentifier) + $default reduce using rule 235 (Command) state 186 - DatasetIdentifier -> STRING . (rule 249) + DatasetIdentifier -> IDENTIFIER . (rule 249) $default reduce using rule 249 (DatasetIdentifier) @@ -2731,47 +2735,55 @@ state 186 state 187 - Dataset -> IomIod DatasetIdentifier . (rule 243) + DatasetIdentifier -> STRING . (rule 250) - $default reduce using rule 243 (Dataset) + $default reduce using rule 250 (DatasetIdentifier) state 188 - IomIod -> IomLevel IodName . (rule 245) + Dataset -> IomIod DatasetIdentifier . (rule 244) - $default reduce using rule 245 (IomIod) + $default reduce using rule 244 (Dataset) state 189 + IomIod -> IomLevel IodName . (rule 246) + + $default reduce using rule 246 (IomIod) + + + +state 190 + CompareCommand -> T_COMPARE ObjectRef1 TagRef1 . ObjectRef2 TagRef2 (rule 39) COMMANDFIELD shift, and go to state 67 IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - Command go to state 223 + Command go to state 224 DimseCmd go to state 71 - Dataset go to state 224 + Dataset go to state 225 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 - ObjectRef2 go to state 225 + ObjectRef2 go to state 226 -state 190 +state 191 - TagRef1 -> TagRef . (rule 290) + TagRef1 -> TagRef . (rule 291) - $default reduce using rule 290 (TagRef1) + $default reduce using rule 291 (TagRef1) -state 191 +state 192 CompareCommand -> T_COMPARE_NOT ObjectRef1 TagRef1 . ObjectRef2 TagRef2 (rule 40) @@ -2779,77 +2791,69 @@ state 191 IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - Command go to state 223 + Command go to state 224 DimseCmd go to state 71 - Dataset go to state 224 + Dataset go to state 225 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 - ObjectRef2 go to state 226 + ObjectRef2 go to state 227 -state 192 +state 193 - CopyCommand -> T_COPY ObjectRef1 TagRef1 . ObjectRef2 TagRef2 (rule 42) + CopyCommand -> T_COPY ObjectRef1 TagRef1 . ObjectRef2 TagRef2 (rule 43) COMMANDFIELD shift, and go to state 67 IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - Command go to state 223 + Command go to state 224 DimseCmd go to state 71 - Dataset go to state 224 + Dataset go to state 225 IomIod go to state 73 IomLevel go to state 74 IodName go to state 75 - ObjectRef2 go to state 227 - - - -state 193 - - SequenceRef -> T_OPEN_BRACKET Dataset . TagRef ItemNumber T_CLOSE_BRACKET (rule 298) - - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 - - AttributeTag go to state 181 - TagRef go to state 228 + ObjectRef2 go to state 228 state 194 - SequenceRef -> T_OPEN_BRACKET SequenceRef . TagRef ItemNumber T_CLOSE_BRACKET (rule 299) + SequenceRef -> T_OPEN_BRACKET Dataset . TagRef ItemNumber T_CLOSE_BRACKET (rule 299) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - AttributeTag go to state 181 + AttributeTag go to state 182 TagRef go to state 229 state 195 - Sop -> Command Dataset . (rule 227) + SequenceRef -> T_OPEN_BRACKET SequenceRef . TagRef ItemNumber T_CLOSE_BRACKET (rule 300) - $default reduce using rule 227 (Sop) + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 + + AttributeTag go to state 182 + TagRef go to state 230 state 196 - CreateList -> Dataset T_DEFINED_LENGTH . (rule 89) + Sop -> Command Dataset . (rule 228) - $default reduce using rule 89 (CreateList) + $default reduce using rule 228 (Sop) state 197 - CreateList -> SequenceRef Dataset . (rule 90) + CreateList -> Dataset T_DEFINED_LENGTH . (rule 90) $default reduce using rule 90 (CreateList) @@ -2857,257 +2861,257 @@ state 197 state 198 - DisplayTagList -> T_DISPLAY ObjectRef1 TagRef . (rule 98) + CreateList -> SequenceRef Dataset . (rule 91) - $default reduce using rule 98 (DisplayTagList) + $default reduce using rule 91 (CreateList) state 199 - ReadList -> STRING HEXADECIMAL . (rule 101) + DisplayTagList -> T_DISPLAY ObjectRef1 TagRef . (rule 99) - $default reduce using rule 101 (ReadList) + $default reduce using rule 99 (DisplayTagList) state 200 - ReadList -> STRING Dataset . (rule 100) + ReadList -> STRING HEXADECIMAL . (rule 102) - $default reduce using rule 100 (ReadList) + $default reduce using rule 102 (ReadList) state 201 - SopList -> SopList T_OR . SopContents (rule 124) - - COMMANDFIELD shift, and go to state 67 + ReadList -> STRING Dataset . (rule 101) - SopContents go to state 230 - CommandContents go to state 132 - Command go to state 133 - DimseCmd go to state 71 - CommandRef go to state 134 + $default reduce using rule 101 (ReadList) state 202 - SopList -> SopList T_AND . SopContents (rule 125) + SopList -> SopList T_OR . SopContents (rule 125) COMMANDFIELD shift, and go to state 67 SopContents go to state 231 - CommandContents go to state 132 - Command go to state 133 + CommandContents go to state 133 + Command go to state 134 DimseCmd go to state 71 - CommandRef go to state 134 + CommandRef go to state 135 state 203 - AssociateRqContents -> AssociateRq T_OPEN_BRACKET . AssociateRqParameterList T_CLOSE_BRACKET (rule 142) + SopList -> SopList T_AND . SopContents (rule 126) - T_PROT_VER shift, and go to state 232 - T_CALLED_AE shift, and go to state 233 - T_CALLING_AE shift, and go to state 234 - T_APPL_CTX shift, and go to state 235 - T_PRES_CTX shift, and go to state 236 - T_MAX_LEN shift, and go to state 237 - T_IMPL_CLASS shift, and go to state 238 - T_IMPL_VER shift, and go to state 239 - T_SOP_EXTEND_NEG shift, and go to state 240 - T_SCPSCU_ROLE shift, and go to state 241 - T_ASYNC_WINDOW shift, and go to state 242 - T_USER_ID_NEG shift, and go to state 243 + COMMANDFIELD shift, and go to state 67 - AssociateRqParameterList go to state 244 - AssociateRqParameter go to state 245 + SopContents go to state 232 + CommandContents go to state 133 + Command go to state 134 + DimseCmd go to state 71 + CommandRef go to state 135 state 204 - AssociateAcContents -> AssociateAc T_OPEN_BRACKET . AssociateAcParameterList T_CLOSE_BRACKET (rule 180) + AssociateRqContents -> AssociateRq T_OPEN_BRACKET . AssociateRqParameterList T_CLOSE_BRACKET (rule 143) - T_PROT_VER shift, and go to state 246 - T_CALLED_AE shift, and go to state 247 - T_CALLING_AE shift, and go to state 248 - T_APPL_CTX shift, and go to state 249 - T_PRES_CTX shift, and go to state 250 - T_MAX_LEN shift, and go to state 251 - T_IMPL_CLASS shift, and go to state 252 - T_IMPL_VER shift, and go to state 253 - T_SOP_EXTEND_NEG shift, and go to state 254 - T_SCPSCU_ROLE shift, and go to state 255 - T_ASYNC_WINDOW shift, and go to state 256 + T_PROT_VER shift, and go to state 233 + T_CALLED_AE shift, and go to state 234 + T_CALLING_AE shift, and go to state 235 + T_APPL_CTX shift, and go to state 236 + T_PRES_CTX shift, and go to state 237 + T_MAX_LEN shift, and go to state 238 + T_IMPL_CLASS shift, and go to state 239 + T_IMPL_VER shift, and go to state 240 + T_SOP_EXTEND_NEG shift, and go to state 241 + T_SCPSCU_ROLE shift, and go to state 242 + T_ASYNC_WINDOW shift, and go to state 243 + T_USER_ID_NEG shift, and go to state 244 - AssociateAcParameterList go to state 257 - AssociateAcParameter go to state 258 + AssociateRqParameterList go to state 245 + AssociateRqParameter go to state 246 state 205 - AssociateRjContents -> AssociateRj T_OPEN_BRACKET . AssociateRjParameterList T_CLOSE_BRACKET (rule 206) + AssociateAcContents -> AssociateAc T_OPEN_BRACKET . AssociateAcParameterList T_CLOSE_BRACKET (rule 181) - T_RESULT shift, and go to state 259 - T_SOURCE shift, and go to state 260 - T_REASON shift, and go to state 261 + T_PROT_VER shift, and go to state 247 + T_CALLED_AE shift, and go to state 248 + T_CALLING_AE shift, and go to state 249 + T_APPL_CTX shift, and go to state 250 + T_PRES_CTX shift, and go to state 251 + T_MAX_LEN shift, and go to state 252 + T_IMPL_CLASS shift, and go to state 253 + T_IMPL_VER shift, and go to state 254 + T_SOP_EXTEND_NEG shift, and go to state 255 + T_SCPSCU_ROLE shift, and go to state 256 + T_ASYNC_WINDOW shift, and go to state 257 - AssociateRjParameterList go to state 262 - AssociateRjParameter go to state 263 + AssociateAcParameterList go to state 258 + AssociateAcParameter go to state 259 state 206 - AbortRqContents -> AbortRq T_OPEN_BRACKET . AbortRqParameterList T_CLOSE_BRACKET (rule 215) + AssociateRjContents -> AssociateRj T_OPEN_BRACKET . AssociateRjParameterList T_CLOSE_BRACKET (rule 207) - T_SOURCE shift, and go to state 264 - T_REASON shift, and go to state 265 + T_RESULT shift, and go to state 260 + T_SOURCE shift, and go to state 261 + T_REASON shift, and go to state 262 - AbortRqParameterList go to state 266 - AbortRqParameter go to state 267 + AssociateRjParameterList go to state 263 + AssociateRjParameter go to state 264 state 207 - SopContents -> Command DatasetContents . (rule 229) + AbortRqContents -> AbortRq T_OPEN_BRACKET . AbortRqParameterList T_CLOSE_BRACKET (rule 216) - $default reduce using rule 229 (SopContents) + T_SOURCE shift, and go to state 265 + T_REASON shift, and go to state 266 + AbortRqParameterList go to state 267 + AbortRqParameter go to state 268 -state 208 - CommandContents -> CommandRef T_OPEN_BRACKET . T_CLOSE_BRACKET (rule 231) - CommandContents -> CommandRef T_OPEN_BRACKET . AttributeList T_CLOSE_BRACKET (rule 232) +state 208 - T_OPEN_BRACKET shift, and go to state 268 - T_CLOSE_BRACKET shift, and go to state 269 + SopContents -> Command DatasetContents . (rule 230) - AttributeList go to state 270 - Attribute go to state 271 + $default reduce using rule 230 (SopContents) state 209 - SendList -> SopContents T_PRES_CTX . PresentationContextId (rule 106) + CommandContents -> CommandRef T_OPEN_BRACKET . T_CLOSE_BRACKET (rule 232) + CommandContents -> CommandRef T_OPEN_BRACKET . AttributeList T_CLOSE_BRACKET (rule 233) - T_OPEN_BRACKET shift, and go to state 272 + T_OPEN_BRACKET shift, and go to state 269 + T_CLOSE_BRACKET shift, and go to state 270 - PresentationContextId go to state 273 + AttributeList go to state 271 + Attribute go to state 272 state 210 - DatasetContents -> DatasetRef T_OPEN_BRACKET . T_CLOSE_BRACKET (rule 239) - DatasetContents -> DatasetRef T_OPEN_BRACKET . AttributeList T_CLOSE_BRACKET (rule 240) + SendList -> SopContents T_PRES_CTX . PresentationContextId (rule 107) - T_OPEN_BRACKET shift, and go to state 268 - T_CLOSE_BRACKET shift, and go to state 274 + T_OPEN_BRACKET shift, and go to state 273 - AttributeList go to state 275 - Attribute go to state 271 + PresentationContextId go to state 274 state 211 - FileheadContents -> Filehead T_OPEN_BRACKET . FileheadParameterList T_CLOSE_BRACKET (rule 303) + DatasetContents -> DatasetRef T_OPEN_BRACKET . T_CLOSE_BRACKET (rule 240) + DatasetContents -> DatasetRef T_OPEN_BRACKET . AttributeList T_CLOSE_BRACKET (rule 241) - T_FILE_PREAMBLE shift, and go to state 276 - T_DICOM_PREFIX shift, and go to state 277 - T_TRANSFER_SYNTAX shift, and go to state 278 + T_OPEN_BRACKET shift, and go to state 269 + T_CLOSE_BRACKET shift, and go to state 275 - FileheadParameterList go to state 279 - FileheadParameter go to state 280 - FilePreamble go to state 281 - DicomPrefix go to state 282 - FileTransferSyntax go to state 283 + AttributeList go to state 276 + Attribute go to state 272 state 212 - FiletailContents -> Filetail T_OPEN_BRACKET . FiletailParameterList T_CLOSE_BRACKET (rule 314) + FileheadContents -> Filehead T_OPEN_BRACKET . FileheadParameterList T_CLOSE_BRACKET (rule 304) - T_DATASET_TRAILING_PADDING shift, and go to state 284 - T_SECTOR_SIZE shift, and go to state 285 - T_PADDING_VALUE shift, and go to state 286 + T_FILE_PREAMBLE shift, and go to state 277 + T_DICOM_PREFIX shift, and go to state 278 + T_TRANSFER_SYNTAX shift, and go to state 279 - FiletailParameterList go to state 287 - FiletailParameter go to state 288 - DatasetTrailingPadding go to state 289 - SectorSize go to state 290 - PaddingValue go to state 291 + FileheadParameterList go to state 280 + FileheadParameter go to state 281 + FilePreamble go to state 282 + DicomPrefix go to state 283 + FileTransferSyntax go to state 284 state 213 - ValidateList -> SourceSopRef ReferenceSopList . (rule 114) - ReferenceSopList -> ReferenceSopList . T_OR ReferenceSopRef (rule 119) + FiletailContents -> Filetail T_OPEN_BRACKET . FiletailParameterList T_CLOSE_BRACKET (rule 315) - T_OR shift, and go to state 292 + T_DATASET_TRAILING_PADDING shift, and go to state 285 + T_SECTOR_SIZE shift, and go to state 286 + T_PADDING_VALUE shift, and go to state 287 - $default reduce using rule 114 (ValidateList) + FiletailParameterList go to state 288 + FiletailParameter go to state 289 + DatasetTrailingPadding go to state 290 + SectorSize go to state 291 + PaddingValue go to state 292 state 214 - ReferenceSopList -> ReferenceSopRef . (rule 118) + ValidateList -> SourceSopRef ReferenceSopList . (rule 115) + ReferenceSopList -> ReferenceSopList . T_OR ReferenceSopRef (rule 120) - $default reduce using rule 118 (ReferenceSopList) + T_OR shift, and go to state 293 + $default reduce using rule 115 (ValidateList) -state 215 - ReferenceSopRef -> DimseCmd . CommandIdentifier (rule 120) - ReferenceSopRef -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 121) +state 215 - IDENTIFIER shift, and go to state 183 + ReferenceSopList -> ReferenceSopRef . (rule 119) - CommandIdentifier go to state 293 + $default reduce using rule 119 (ReferenceSopList) state 216 - SourceSopRef -> DimseCmd CommandIdentifier . (rule 115) - SourceSopRef -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 116) - - IOMLEVEL shift, and go to state 68 - STRING shift, and go to state 69 + ReferenceSopRef -> DimseCmd . CommandIdentifier (rule 121) + ReferenceSopRef -> DimseCmd . CommandIdentifier IomIod DatasetIdentifier (rule 122) - $default reduce using rule 115 (SourceSopRef) + IDENTIFIER shift, and go to state 184 - IomIod go to state 294 - IomLevel go to state 74 - IodName go to state 75 + CommandIdentifier go to state 294 state 217 - WriteList -> STRING T_FILEHEAD . (rule 126) + SourceSopRef -> DimseCmd CommandIdentifier . (rule 116) + SourceSopRef -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 117) + + IOMLEVEL shift, and go to state 68 + STRING shift, and go to state 69 + + $default reduce using rule 116 (SourceSopRef) - $default reduce using rule 126 (WriteList) + IomIod go to state 295 + IomLevel go to state 74 + IodName go to state 75 state 218 - WriteList -> STRING T_FILETAIL . (rule 127) + WriteList -> STRING T_FILEHEAD . (rule 127) $default reduce using rule 127 (WriteList) @@ -3115,7 +3119,7 @@ state 218 state 219 - WriteList -> STRING Dataset . (rule 128) + WriteList -> STRING T_FILETAIL . (rule 128) $default reduce using rule 128 (WriteList) @@ -3123,30 +3127,21 @@ state 219 state 220 - ImportList -> DimseCmd CommandIdentifier . (rule 63) - ImportList -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 64) + WriteList -> STRING Dataset . (rule 129) - IOMLEVEL shift, and go to state 68 - STRING shift, and go to state 69 - - $default reduce using rule 63 (ImportList) - - IomIod go to state 295 - IomLevel go to state 74 - IodName go to state 75 + $default reduce using rule 129 (WriteList) state 221 - ExportDimseObjects -> DimseCmd CommandIdentifier . (rule 59) - ExportDimseObjects -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 60) - ExportDimseObjects -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier T_PRES_CTX PresentationContextId (rule 61) + ImportList -> DimseCmd CommandIdentifier . (rule 64) + ImportList -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 65) IOMLEVEL shift, and go to state 68 STRING shift, and go to state 69 - $default reduce using rule 59 (ExportDimseObjects) + $default reduce using rule 64 (ImportList) IomIod go to state 296 IomLevel go to state 74 @@ -3156,23 +3151,32 @@ state 221 state 222 - ApplicationEntityFlagCommand -> T_APPL_ENTITY STRING STRING . (rule 78) + ExportDimseObjects -> DimseCmd CommandIdentifier . (rule 60) + ExportDimseObjects -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 61) + ExportDimseObjects -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier T_PRES_CTX PresentationContextId (rule 62) + + IOMLEVEL shift, and go to state 68 + STRING shift, and go to state 69 + + $default reduce using rule 60 (ExportDimseObjects) - $default reduce using rule 78 (ApplicationEntityFlagCommand) + IomIod go to state 297 + IomLevel go to state 74 + IodName go to state 75 state 223 - ObjectRef2 -> Command . (rule 296) + ApplicationEntityFlagCommand -> T_APPL_ENTITY STRING STRING . (rule 79) - $default reduce using rule 296 (ObjectRef2) + $default reduce using rule 79 (ApplicationEntityFlagCommand) state 224 - ObjectRef2 -> Dataset . (rule 297) + ObjectRef2 -> Command . (rule 297) $default reduce using rule 297 (ObjectRef2) @@ -3180,62 +3184,58 @@ state 224 state 225 - CompareCommand -> T_COMPARE ObjectRef1 TagRef1 ObjectRef2 . TagRef2 (rule 39) - - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + ObjectRef2 -> Dataset . (rule 298) - AttributeTag go to state 181 - TagRef2 go to state 297 - TagRef go to state 298 + $default reduce using rule 298 (ObjectRef2) state 226 - CompareCommand -> T_COMPARE_NOT ObjectRef1 TagRef1 ObjectRef2 . TagRef2 (rule 40) + CompareCommand -> T_COMPARE ObjectRef1 TagRef1 ObjectRef2 . TagRef2 (rule 39) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - AttributeTag go to state 181 - TagRef2 go to state 299 - TagRef go to state 298 + AttributeTag go to state 182 + TagRef2 go to state 298 + TagRef go to state 299 state 227 - CopyCommand -> T_COPY ObjectRef1 TagRef1 ObjectRef2 . TagRef2 (rule 42) + CompareCommand -> T_COMPARE_NOT ObjectRef1 TagRef1 ObjectRef2 . TagRef2 (rule 40) - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - AttributeTag go to state 181 + AttributeTag go to state 182 TagRef2 go to state 300 - TagRef go to state 298 + TagRef go to state 299 state 228 - SequenceRef -> T_OPEN_BRACKET Dataset TagRef . ItemNumber T_CLOSE_BRACKET (rule 298) - - '[' shift, and go to state 301 + CopyCommand -> T_COPY ObjectRef1 TagRef1 ObjectRef2 . TagRef2 (rule 43) - $default reduce using rule 300 (ItemNumber) + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 - ItemNumber go to state 302 + AttributeTag go to state 182 + TagRef2 go to state 301 + TagRef go to state 299 state 229 - SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef . ItemNumber T_CLOSE_BRACKET (rule 299) + SequenceRef -> T_OPEN_BRACKET Dataset TagRef . ItemNumber T_CLOSE_BRACKET (rule 299) - '[' shift, and go to state 301 + '[' shift, and go to state 302 - $default reduce using rule 300 (ItemNumber) + $default reduce using rule 301 (ItemNumber) ItemNumber go to state 303 @@ -3243,15 +3243,19 @@ state 229 state 230 - SopList -> SopList T_OR SopContents . (rule 124) + SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef . ItemNumber T_CLOSE_BRACKET (rule 300) - $default reduce using rule 124 (SopList) + '[' shift, and go to state 302 + + $default reduce using rule 301 (ItemNumber) + + ItemNumber go to state 304 state 231 - SopList -> SopList T_AND SopContents . (rule 125) + SopList -> SopList T_OR SopContents . (rule 125) $default reduce using rule 125 (SopList) @@ -3259,23 +3263,23 @@ state 231 state 232 - AssociateRqParameter -> T_PROT_VER . INTEGER (rule 145) + SopList -> SopList T_AND SopContents . (rule 126) - INTEGER shift, and go to state 304 + $default reduce using rule 126 (SopList) state 233 - AssociateRqParameter -> T_CALLED_AE . STRING (rule 146) + AssociateRqParameter -> T_PROT_VER . INTEGER (rule 146) - STRING shift, and go to state 305 + INTEGER shift, and go to state 305 state 234 - AssociateRqParameter -> T_CALLING_AE . STRING (rule 147) + AssociateRqParameter -> T_CALLED_AE . STRING (rule 147) STRING shift, and go to state 306 @@ -3283,7 +3287,7 @@ state 234 state 235 - AssociateRqParameter -> T_APPL_CTX . STRING (rule 148) + AssociateRqParameter -> T_CALLING_AE . STRING (rule 148) STRING shift, and go to state 307 @@ -3291,36 +3295,36 @@ state 235 state 236 - AssociateRqParameter -> T_PRES_CTX . AssociateRqPresCtxList (rule 149) - - T_OPEN_BRACKET shift, and go to state 308 + AssociateRqParameter -> T_APPL_CTX . STRING (rule 149) - AssociateRqPresCtxList go to state 309 - AssociateRqPresCtx go to state 310 - RqPresCtx go to state 311 - VtsRqPresCtx go to state 312 + STRING shift, and go to state 308 state 237 - AssociateRqParameter -> T_MAX_LEN . INTEGER (rule 150) + AssociateRqParameter -> T_PRES_CTX . AssociateRqPresCtxList (rule 150) - INTEGER shift, and go to state 313 + T_OPEN_BRACKET shift, and go to state 309 + + AssociateRqPresCtxList go to state 310 + AssociateRqPresCtx go to state 311 + RqPresCtx go to state 312 + VtsRqPresCtx go to state 313 state 238 - AssociateRqParameter -> T_IMPL_CLASS . STRING (rule 151) + AssociateRqParameter -> T_MAX_LEN . INTEGER (rule 151) - STRING shift, and go to state 314 + INTEGER shift, and go to state 314 state 239 - AssociateRqParameter -> T_IMPL_VER . STRING (rule 152) + AssociateRqParameter -> T_IMPL_CLASS . STRING (rule 152) STRING shift, and go to state 315 @@ -3328,95 +3332,95 @@ state 239 state 240 - AssociateRqParameter -> T_SOP_EXTEND_NEG . SopClassExtendedList (rule 153) - - T_OPEN_BRACKET shift, and go to state 316 + AssociateRqParameter -> T_IMPL_VER . STRING (rule 153) - SopClassExtendedList go to state 317 - SopClassExtended go to state 318 + STRING shift, and go to state 316 state 241 - AssociateRqParameter -> T_SCPSCU_ROLE . ScpScuRoleList (rule 154) + AssociateRqParameter -> T_SOP_EXTEND_NEG . SopClassExtendedList (rule 154) - T_OPEN_BRACKET shift, and go to state 319 + T_OPEN_BRACKET shift, and go to state 317 - ScpScuRoleList go to state 320 - ScpScuRole go to state 321 + SopClassExtendedList go to state 318 + SopClassExtended go to state 319 state 242 - AssociateRqParameter -> T_ASYNC_WINDOW . INTEGER INTEGER (rule 155) + AssociateRqParameter -> T_SCPSCU_ROLE . ScpScuRoleList (rule 155) - INTEGER shift, and go to state 322 + T_OPEN_BRACKET shift, and go to state 320 + + ScpScuRoleList go to state 321 + ScpScuRole go to state 322 state 243 - AssociateRqParameter -> T_USER_ID_NEG . UserIdentityNegotiation (rule 156) + AssociateRqParameter -> T_ASYNC_WINDOW . INTEGER INTEGER (rule 156) INTEGER shift, and go to state 323 - STRING shift, and go to state 324 - - UserIdentityNegotiation go to state 325 state 244 - AssociateRqContents -> AssociateRq T_OPEN_BRACKET AssociateRqParameterList . T_CLOSE_BRACKET (rule 142) - AssociateRqParameterList -> AssociateRqParameterList . AssociateRqParameter (rule 144) + AssociateRqParameter -> T_USER_ID_NEG . UserIdentityNegotiation (rule 157) - T_PROT_VER shift, and go to state 232 - T_CALLED_AE shift, and go to state 233 - T_CALLING_AE shift, and go to state 234 - T_APPL_CTX shift, and go to state 235 - T_PRES_CTX shift, and go to state 236 - T_MAX_LEN shift, and go to state 237 - T_IMPL_CLASS shift, and go to state 238 - T_IMPL_VER shift, and go to state 239 - T_SOP_EXTEND_NEG shift, and go to state 240 - T_SCPSCU_ROLE shift, and go to state 241 - T_ASYNC_WINDOW shift, and go to state 242 - T_USER_ID_NEG shift, and go to state 243 - T_CLOSE_BRACKET shift, and go to state 326 + INTEGER shift, and go to state 324 + STRING shift, and go to state 325 - AssociateRqParameter go to state 327 + UserIdentityNegotiation go to state 326 state 245 - AssociateRqParameterList -> AssociateRqParameter . (rule 143) + AssociateRqContents -> AssociateRq T_OPEN_BRACKET AssociateRqParameterList . T_CLOSE_BRACKET (rule 143) + AssociateRqParameterList -> AssociateRqParameterList . AssociateRqParameter (rule 145) + + T_PROT_VER shift, and go to state 233 + T_CALLED_AE shift, and go to state 234 + T_CALLING_AE shift, and go to state 235 + T_APPL_CTX shift, and go to state 236 + T_PRES_CTX shift, and go to state 237 + T_MAX_LEN shift, and go to state 238 + T_IMPL_CLASS shift, and go to state 239 + T_IMPL_VER shift, and go to state 240 + T_SOP_EXTEND_NEG shift, and go to state 241 + T_SCPSCU_ROLE shift, and go to state 242 + T_ASYNC_WINDOW shift, and go to state 243 + T_USER_ID_NEG shift, and go to state 244 + T_CLOSE_BRACKET shift, and go to state 327 - $default reduce using rule 143 (AssociateRqParameterList) + AssociateRqParameter go to state 328 state 246 - AssociateAcParameter -> T_PROT_VER . INTEGER (rule 183) + AssociateRqParameterList -> AssociateRqParameter . (rule 144) - INTEGER shift, and go to state 328 + $default reduce using rule 144 (AssociateRqParameterList) state 247 - AssociateAcParameter -> T_CALLED_AE . STRING (rule 184) + AssociateAcParameter -> T_PROT_VER . INTEGER (rule 184) - STRING shift, and go to state 329 + INTEGER shift, and go to state 329 state 248 - AssociateAcParameter -> T_CALLING_AE . STRING (rule 185) + AssociateAcParameter -> T_CALLED_AE . STRING (rule 185) STRING shift, and go to state 330 @@ -3424,7 +3428,7 @@ state 248 state 249 - AssociateAcParameter -> T_APPL_CTX . STRING (rule 186) + AssociateAcParameter -> T_CALLING_AE . STRING (rule 186) STRING shift, and go to state 331 @@ -3432,36 +3436,36 @@ state 249 state 250 - AssociateAcParameter -> T_PRES_CTX . AssociateAcPresCtxList (rule 187) - - T_OPEN_BRACKET shift, and go to state 332 + AssociateAcParameter -> T_APPL_CTX . STRING (rule 187) - AssociateAcPresCtxList go to state 333 - AssociateAcPresCtx go to state 334 - AcPresCtx go to state 335 - VtsAcPresCtx go to state 336 + STRING shift, and go to state 332 state 251 - AssociateAcParameter -> T_MAX_LEN . INTEGER (rule 188) + AssociateAcParameter -> T_PRES_CTX . AssociateAcPresCtxList (rule 188) - INTEGER shift, and go to state 337 + T_OPEN_BRACKET shift, and go to state 333 + + AssociateAcPresCtxList go to state 334 + AssociateAcPresCtx go to state 335 + AcPresCtx go to state 336 + VtsAcPresCtx go to state 337 state 252 - AssociateAcParameter -> T_IMPL_CLASS . STRING (rule 189) + AssociateAcParameter -> T_MAX_LEN . INTEGER (rule 189) - STRING shift, and go to state 338 + INTEGER shift, and go to state 338 state 253 - AssociateAcParameter -> T_IMPL_VER . STRING (rule 190) + AssociateAcParameter -> T_IMPL_CLASS . STRING (rule 190) STRING shift, and go to state 339 @@ -3469,75 +3473,75 @@ state 253 state 254 - AssociateAcParameter -> T_SOP_EXTEND_NEG . SopClassExtendedList (rule 191) - - T_OPEN_BRACKET shift, and go to state 316 + AssociateAcParameter -> T_IMPL_VER . STRING (rule 191) - SopClassExtendedList go to state 340 - SopClassExtended go to state 318 + STRING shift, and go to state 340 state 255 - AssociateAcParameter -> T_SCPSCU_ROLE . ScpScuRoleList (rule 192) + AssociateAcParameter -> T_SOP_EXTEND_NEG . SopClassExtendedList (rule 192) - T_OPEN_BRACKET shift, and go to state 319 + T_OPEN_BRACKET shift, and go to state 317 - ScpScuRoleList go to state 341 - ScpScuRole go to state 321 + SopClassExtendedList go to state 341 + SopClassExtended go to state 319 state 256 - AssociateAcParameter -> T_ASYNC_WINDOW . INTEGER INTEGER (rule 193) + AssociateAcParameter -> T_SCPSCU_ROLE . ScpScuRoleList (rule 193) - INTEGER shift, and go to state 342 + T_OPEN_BRACKET shift, and go to state 320 + ScpScuRoleList go to state 342 + ScpScuRole go to state 322 -state 257 - AssociateAcContents -> AssociateAc T_OPEN_BRACKET AssociateAcParameterList . T_CLOSE_BRACKET (rule 180) - AssociateAcParameterList -> AssociateAcParameterList . AssociateAcParameter (rule 182) +state 257 - T_PROT_VER shift, and go to state 246 - T_CALLED_AE shift, and go to state 247 - T_CALLING_AE shift, and go to state 248 - T_APPL_CTX shift, and go to state 249 - T_PRES_CTX shift, and go to state 250 - T_MAX_LEN shift, and go to state 251 - T_IMPL_CLASS shift, and go to state 252 - T_IMPL_VER shift, and go to state 253 - T_SOP_EXTEND_NEG shift, and go to state 254 - T_SCPSCU_ROLE shift, and go to state 255 - T_ASYNC_WINDOW shift, and go to state 256 - T_CLOSE_BRACKET shift, and go to state 343 + AssociateAcParameter -> T_ASYNC_WINDOW . INTEGER INTEGER (rule 194) - AssociateAcParameter go to state 344 + INTEGER shift, and go to state 343 state 258 - AssociateAcParameterList -> AssociateAcParameter . (rule 181) + AssociateAcContents -> AssociateAc T_OPEN_BRACKET AssociateAcParameterList . T_CLOSE_BRACKET (rule 181) + AssociateAcParameterList -> AssociateAcParameterList . AssociateAcParameter (rule 183) - $default reduce using rule 181 (AssociateAcParameterList) + T_PROT_VER shift, and go to state 247 + T_CALLED_AE shift, and go to state 248 + T_CALLING_AE shift, and go to state 249 + T_APPL_CTX shift, and go to state 250 + T_PRES_CTX shift, and go to state 251 + T_MAX_LEN shift, and go to state 252 + T_IMPL_CLASS shift, and go to state 253 + T_IMPL_VER shift, and go to state 254 + T_SOP_EXTEND_NEG shift, and go to state 255 + T_SCPSCU_ROLE shift, and go to state 256 + T_ASYNC_WINDOW shift, and go to state 257 + T_CLOSE_BRACKET shift, and go to state 344 + + AssociateAcParameter go to state 345 state 259 - AssociateRjParameter -> T_RESULT . INTEGER (rule 209) + AssociateAcParameterList -> AssociateAcParameter . (rule 182) - INTEGER shift, and go to state 345 + $default reduce using rule 182 (AssociateAcParameterList) state 260 - AssociateRjParameter -> T_SOURCE . INTEGER (rule 210) + AssociateRjParameter -> T_RESULT . INTEGER (rule 210) INTEGER shift, and go to state 346 @@ -3545,7 +3549,7 @@ state 260 state 261 - AssociateRjParameter -> T_REASON . INTEGER (rule 211) + AssociateRjParameter -> T_SOURCE . INTEGER (rule 211) INTEGER shift, and go to state 347 @@ -3553,37 +3557,37 @@ state 261 state 262 - AssociateRjContents -> AssociateRj T_OPEN_BRACKET AssociateRjParameterList . T_CLOSE_BRACKET (rule 206) - AssociateRjParameterList -> AssociateRjParameterList . AssociateRjParameter (rule 208) + AssociateRjParameter -> T_REASON . INTEGER (rule 212) - T_RESULT shift, and go to state 259 - T_SOURCE shift, and go to state 260 - T_REASON shift, and go to state 261 - T_CLOSE_BRACKET shift, and go to state 348 - - AssociateRjParameter go to state 349 + INTEGER shift, and go to state 348 state 263 - AssociateRjParameterList -> AssociateRjParameter . (rule 207) + AssociateRjContents -> AssociateRj T_OPEN_BRACKET AssociateRjParameterList . T_CLOSE_BRACKET (rule 207) + AssociateRjParameterList -> AssociateRjParameterList . AssociateRjParameter (rule 209) + + T_RESULT shift, and go to state 260 + T_SOURCE shift, and go to state 261 + T_REASON shift, and go to state 262 + T_CLOSE_BRACKET shift, and go to state 349 - $default reduce using rule 207 (AssociateRjParameterList) + AssociateRjParameter go to state 350 state 264 - AbortRqParameter -> T_SOURCE . INTEGER (rule 218) + AssociateRjParameterList -> AssociateRjParameter . (rule 208) - INTEGER shift, and go to state 350 + $default reduce using rule 208 (AssociateRjParameterList) state 265 - AbortRqParameter -> T_REASON . INTEGER (rule 219) + AbortRqParameter -> T_SOURCE . INTEGER (rule 219) INTEGER shift, and go to state 351 @@ -3591,116 +3595,116 @@ state 265 state 266 - AbortRqContents -> AbortRq T_OPEN_BRACKET AbortRqParameterList . T_CLOSE_BRACKET (rule 215) - AbortRqParameterList -> AbortRqParameterList . AbortRqParameter (rule 217) - - T_SOURCE shift, and go to state 264 - T_REASON shift, and go to state 265 - T_CLOSE_BRACKET shift, and go to state 352 + AbortRqParameter -> T_REASON . INTEGER (rule 220) - AbortRqParameter go to state 353 + INTEGER shift, and go to state 352 state 267 - AbortRqParameterList -> AbortRqParameter . (rule 216) + AbortRqContents -> AbortRq T_OPEN_BRACKET AbortRqParameterList . T_CLOSE_BRACKET (rule 216) + AbortRqParameterList -> AbortRqParameterList . AbortRqParameter (rule 218) - $default reduce using rule 216 (AbortRqParameterList) + T_SOURCE shift, and go to state 265 + T_REASON shift, and go to state 266 + T_CLOSE_BRACKET shift, and go to state 353 + AbortRqParameter go to state 354 -state 268 - Attribute -> T_OPEN_BRACKET . AttributeIdentification ',' AttributeValue T_CLOSE_BRACKET (rule 252) - Attribute -> T_OPEN_BRACKET . TagRef T_CLOSE_BRACKET (rule 253) +state 268 - HEXADECIMAL shift, and go to state 179 - STRING shift, and go to state 180 + AbortRqParameterList -> AbortRqParameter . (rule 217) - AttributeIdentification go to state 354 - AttributeTag go to state 355 - TagRef go to state 356 + $default reduce using rule 217 (AbortRqParameterList) state 269 - CommandContents -> CommandRef T_OPEN_BRACKET T_CLOSE_BRACKET . (rule 231) + Attribute -> T_OPEN_BRACKET . AttributeIdentification ',' AttributeValue T_CLOSE_BRACKET (rule 253) + Attribute -> T_OPEN_BRACKET . TagRef T_CLOSE_BRACKET (rule 254) - $default reduce using rule 231 (CommandContents) + HEXADECIMAL shift, and go to state 180 + STRING shift, and go to state 181 + AttributeIdentification go to state 355 + AttributeTag go to state 356 + TagRef go to state 357 -state 270 - CommandContents -> CommandRef T_OPEN_BRACKET AttributeList . T_CLOSE_BRACKET (rule 232) - AttributeList -> AttributeList . Attribute (rule 251) +state 270 - T_OPEN_BRACKET shift, and go to state 268 - T_CLOSE_BRACKET shift, and go to state 357 + CommandContents -> CommandRef T_OPEN_BRACKET T_CLOSE_BRACKET . (rule 232) - Attribute go to state 358 + $default reduce using rule 232 (CommandContents) state 271 - AttributeList -> Attribute . (rule 250) + CommandContents -> CommandRef T_OPEN_BRACKET AttributeList . T_CLOSE_BRACKET (rule 233) + AttributeList -> AttributeList . Attribute (rule 252) + + T_OPEN_BRACKET shift, and go to state 269 + T_CLOSE_BRACKET shift, and go to state 358 - $default reduce using rule 250 (AttributeList) + Attribute go to state 359 state 272 - PresentationContextId -> T_OPEN_BRACKET . HEXADECIMAL T_CLOSE_BRACKET (rule 107) - PresentationContextId -> T_OPEN_BRACKET . INTEGER T_CLOSE_BRACKET (rule 108) + AttributeList -> Attribute . (rule 251) - HEXADECIMAL shift, and go to state 359 - INTEGER shift, and go to state 360 + $default reduce using rule 251 (AttributeList) state 273 - SendList -> SopContents T_PRES_CTX PresentationContextId . (rule 106) + PresentationContextId -> T_OPEN_BRACKET . HEXADECIMAL T_CLOSE_BRACKET (rule 108) + PresentationContextId -> T_OPEN_BRACKET . INTEGER T_CLOSE_BRACKET (rule 109) - $default reduce using rule 106 (SendList) + HEXADECIMAL shift, and go to state 360 + INTEGER shift, and go to state 361 state 274 - DatasetContents -> DatasetRef T_OPEN_BRACKET T_CLOSE_BRACKET . (rule 239) + SendList -> SopContents T_PRES_CTX PresentationContextId . (rule 107) - $default reduce using rule 239 (DatasetContents) + $default reduce using rule 107 (SendList) state 275 - DatasetContents -> DatasetRef T_OPEN_BRACKET AttributeList . T_CLOSE_BRACKET (rule 240) - AttributeList -> AttributeList . Attribute (rule 251) - - T_OPEN_BRACKET shift, and go to state 268 - T_CLOSE_BRACKET shift, and go to state 361 + DatasetContents -> DatasetRef T_OPEN_BRACKET T_CLOSE_BRACKET . (rule 240) - Attribute go to state 358 + $default reduce using rule 240 (DatasetContents) state 276 - FilePreamble -> T_FILE_PREAMBLE . STRING (rule 310) + DatasetContents -> DatasetRef T_OPEN_BRACKET AttributeList . T_CLOSE_BRACKET (rule 241) + AttributeList -> AttributeList . Attribute (rule 252) + + T_OPEN_BRACKET shift, and go to state 269 + T_CLOSE_BRACKET shift, and go to state 362 - STRING shift, and go to state 362 + Attribute go to state 359 state 277 - DicomPrefix -> T_DICOM_PREFIX . STRING (rule 311) + FilePreamble -> T_FILE_PREAMBLE . STRING (rule 311) STRING shift, and go to state 363 @@ -3708,50 +3712,50 @@ state 277 state 278 - FileTransferSyntax -> T_TRANSFER_SYNTAX . TransferSyntax (rule 312) + DicomPrefix -> T_DICOM_PREFIX . STRING (rule 312) STRING shift, and go to state 364 - TransferSyntax go to state 365 - state 279 - FileheadContents -> Filehead T_OPEN_BRACKET FileheadParameterList . T_CLOSE_BRACKET (rule 303) - FileheadParameterList -> FileheadParameterList . FileheadParameter (rule 306) + FileTransferSyntax -> T_TRANSFER_SYNTAX . TransferSyntax (rule 313) - T_FILE_PREAMBLE shift, and go to state 276 - T_DICOM_PREFIX shift, and go to state 277 - T_TRANSFER_SYNTAX shift, and go to state 278 - T_CLOSE_BRACKET shift, and go to state 366 + STRING shift, and go to state 365 - FileheadParameter go to state 367 - FilePreamble go to state 281 - DicomPrefix go to state 282 - FileTransferSyntax go to state 283 + TransferSyntax go to state 366 state 280 - FileheadParameterList -> FileheadParameter . (rule 305) + FileheadContents -> Filehead T_OPEN_BRACKET FileheadParameterList . T_CLOSE_BRACKET (rule 304) + FileheadParameterList -> FileheadParameterList . FileheadParameter (rule 307) + + T_FILE_PREAMBLE shift, and go to state 277 + T_DICOM_PREFIX shift, and go to state 278 + T_TRANSFER_SYNTAX shift, and go to state 279 + T_CLOSE_BRACKET shift, and go to state 367 - $default reduce using rule 305 (FileheadParameterList) + FileheadParameter go to state 368 + FilePreamble go to state 282 + DicomPrefix go to state 283 + FileTransferSyntax go to state 284 state 281 - FileheadParameter -> FilePreamble . (rule 307) + FileheadParameterList -> FileheadParameter . (rule 306) - $default reduce using rule 307 (FileheadParameter) + $default reduce using rule 306 (FileheadParameterList) state 282 - FileheadParameter -> DicomPrefix . (rule 308) + FileheadParameter -> FilePreamble . (rule 308) $default reduce using rule 308 (FileheadParameter) @@ -3759,7 +3763,7 @@ state 282 state 283 - FileheadParameter -> FileTransferSyntax . (rule 309) + FileheadParameter -> DicomPrefix . (rule 309) $default reduce using rule 309 (FileheadParameter) @@ -3767,25 +3771,25 @@ state 283 state 284 - DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING . T_YES (rule 321) - DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING . T_NO (rule 322) + FileheadParameter -> FileTransferSyntax . (rule 310) - T_YES shift, and go to state 368 - T_NO shift, and go to state 369 + $default reduce using rule 310 (FileheadParameter) state 285 - SectorSize -> T_SECTOR_SIZE . INTEGER (rule 323) + DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING . T_YES (rule 322) + DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING . T_NO (rule 323) - INTEGER shift, and go to state 370 + T_YES shift, and go to state 369 + T_NO shift, and go to state 370 state 286 - PaddingValue -> T_PADDING_VALUE . INTEGER (rule 324) + SectorSize -> T_SECTOR_SIZE . INTEGER (rule 324) INTEGER shift, and go to state 371 @@ -3793,40 +3797,40 @@ state 286 state 287 - FiletailContents -> Filetail T_OPEN_BRACKET FiletailParameterList . T_CLOSE_BRACKET (rule 314) - FiletailParameterList -> FiletailParameterList . FiletailParameter (rule 317) - - T_DATASET_TRAILING_PADDING shift, and go to state 284 - T_SECTOR_SIZE shift, and go to state 285 - T_PADDING_VALUE shift, and go to state 286 - T_CLOSE_BRACKET shift, and go to state 372 + PaddingValue -> T_PADDING_VALUE . INTEGER (rule 325) - FiletailParameter go to state 373 - DatasetTrailingPadding go to state 289 - SectorSize go to state 290 - PaddingValue go to state 291 + INTEGER shift, and go to state 372 state 288 - FiletailParameterList -> FiletailParameter . (rule 316) + FiletailContents -> Filetail T_OPEN_BRACKET FiletailParameterList . T_CLOSE_BRACKET (rule 315) + FiletailParameterList -> FiletailParameterList . FiletailParameter (rule 318) - $default reduce using rule 316 (FiletailParameterList) + T_DATASET_TRAILING_PADDING shift, and go to state 285 + T_SECTOR_SIZE shift, and go to state 286 + T_PADDING_VALUE shift, and go to state 287 + T_CLOSE_BRACKET shift, and go to state 373 + + FiletailParameter go to state 374 + DatasetTrailingPadding go to state 290 + SectorSize go to state 291 + PaddingValue go to state 292 state 289 - FiletailParameter -> DatasetTrailingPadding . (rule 318) + FiletailParameterList -> FiletailParameter . (rule 317) - $default reduce using rule 318 (FiletailParameter) + $default reduce using rule 317 (FiletailParameterList) state 290 - FiletailParameter -> SectorSize . (rule 319) + FiletailParameter -> DatasetTrailingPadding . (rule 319) $default reduce using rule 319 (FiletailParameter) @@ -3834,7 +3838,7 @@ state 290 state 291 - FiletailParameter -> PaddingValue . (rule 320) + FiletailParameter -> SectorSize . (rule 320) $default reduce using rule 320 (FiletailParameter) @@ -3842,48 +3846,45 @@ state 291 state 292 - ReferenceSopList -> ReferenceSopList T_OR . ReferenceSopRef (rule 119) + FiletailParameter -> PaddingValue . (rule 321) - COMMANDFIELD shift, and go to state 67 - - ReferenceSopRef go to state 374 - DimseCmd go to state 215 + $default reduce using rule 321 (FiletailParameter) state 293 - ReferenceSopRef -> DimseCmd CommandIdentifier . (rule 120) - ReferenceSopRef -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 121) - - IOMLEVEL shift, and go to state 68 - STRING shift, and go to state 69 + ReferenceSopList -> ReferenceSopList T_OR . ReferenceSopRef (rule 120) - $default reduce using rule 120 (ReferenceSopRef) + COMMANDFIELD shift, and go to state 67 - IomIod go to state 375 - IomLevel go to state 74 - IodName go to state 75 + ReferenceSopRef go to state 375 + DimseCmd go to state 216 state 294 - SourceSopRef -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 116) + ReferenceSopRef -> DimseCmd CommandIdentifier . (rule 121) + ReferenceSopRef -> DimseCmd CommandIdentifier . IomIod DatasetIdentifier (rule 122) - IDENTIFIER shift, and go to state 185 - STRING shift, and go to state 186 + IOMLEVEL shift, and go to state 68 + STRING shift, and go to state 69 + + $default reduce using rule 121 (ReferenceSopRef) - DatasetIdentifier go to state 376 + IomIod go to state 376 + IomLevel go to state 74 + IodName go to state 75 state 295 - ImportList -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 64) + SourceSopRef -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 117) - IDENTIFIER shift, and go to state 185 - STRING shift, and go to state 186 + IDENTIFIER shift, and go to state 186 + STRING shift, and go to state 187 DatasetIdentifier go to state 377 @@ -3891,11 +3892,10 @@ state 295 state 296 - ExportDimseObjects -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 60) - ExportDimseObjects -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier T_PRES_CTX PresentationContextId (rule 61) + ImportList -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 65) - IDENTIFIER shift, and go to state 185 - STRING shift, and go to state 186 + IDENTIFIER shift, and go to state 186 + STRING shift, and go to state 187 DatasetIdentifier go to state 378 @@ -3903,55 +3903,59 @@ state 296 state 297 - CompareCommand -> T_COMPARE ObjectRef1 TagRef1 ObjectRef2 TagRef2 . (rule 39) + ExportDimseObjects -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 61) + ExportDimseObjects -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier T_PRES_CTX PresentationContextId (rule 62) - $default reduce using rule 39 (CompareCommand) + IDENTIFIER shift, and go to state 186 + STRING shift, and go to state 187 + + DatasetIdentifier go to state 379 state 298 - TagRef2 -> TagRef . (rule 291) + CompareCommand -> T_COMPARE ObjectRef1 TagRef1 ObjectRef2 TagRef2 . (rule 39) - $default reduce using rule 291 (TagRef2) + $default reduce using rule 39 (CompareCommand) state 299 - CompareCommand -> T_COMPARE_NOT ObjectRef1 TagRef1 ObjectRef2 TagRef2 . (rule 40) + TagRef2 -> TagRef . (rule 292) - $default reduce using rule 40 (CompareCommand) + $default reduce using rule 292 (TagRef2) state 300 - CopyCommand -> T_COPY ObjectRef1 TagRef1 ObjectRef2 TagRef2 . (rule 42) + CompareCommand -> T_COMPARE_NOT ObjectRef1 TagRef1 ObjectRef2 TagRef2 . (rule 40) - $default reduce using rule 42 (CopyCommand) + $default reduce using rule 40 (CompareCommand) state 301 - ItemNumber -> '[' . INTEGER ']' (rule 301) + CopyCommand -> T_COPY ObjectRef1 TagRef1 ObjectRef2 TagRef2 . (rule 43) - INTEGER shift, and go to state 379 + $default reduce using rule 43 (CopyCommand) state 302 - SequenceRef -> T_OPEN_BRACKET Dataset TagRef ItemNumber . T_CLOSE_BRACKET (rule 298) + ItemNumber -> '[' . INTEGER ']' (rule 302) - T_CLOSE_BRACKET shift, and go to state 380 + INTEGER shift, and go to state 380 state 303 - SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef ItemNumber . T_CLOSE_BRACKET (rule 299) + SequenceRef -> T_OPEN_BRACKET Dataset TagRef ItemNumber . T_CLOSE_BRACKET (rule 299) T_CLOSE_BRACKET shift, and go to state 381 @@ -3959,15 +3963,15 @@ state 303 state 304 - AssociateRqParameter -> T_PROT_VER INTEGER . (rule 145) + SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef ItemNumber . T_CLOSE_BRACKET (rule 300) - $default reduce using rule 145 (AssociateRqParameter) + T_CLOSE_BRACKET shift, and go to state 382 state 305 - AssociateRqParameter -> T_CALLED_AE STRING . (rule 146) + AssociateRqParameter -> T_PROT_VER INTEGER . (rule 146) $default reduce using rule 146 (AssociateRqParameter) @@ -3975,7 +3979,7 @@ state 305 state 306 - AssociateRqParameter -> T_CALLING_AE STRING . (rule 147) + AssociateRqParameter -> T_CALLED_AE STRING . (rule 147) $default reduce using rule 147 (AssociateRqParameter) @@ -3983,7 +3987,7 @@ state 306 state 307 - AssociateRqParameter -> T_APPL_CTX STRING . (rule 148) + AssociateRqParameter -> T_CALLING_AE STRING . (rule 148) $default reduce using rule 148 (AssociateRqParameter) @@ -3991,50 +3995,50 @@ state 307 state 308 - RqPresCtx -> T_OPEN_BRACKET . STRING ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 162) - VtsRqPresCtx -> T_OPEN_BRACKET . INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + AssociateRqParameter -> T_APPL_CTX STRING . (rule 149) - INTEGER shift, and go to state 382 - STRING shift, and go to state 383 + $default reduce using rule 149 (AssociateRqParameter) state 309 - AssociateRqParameter -> T_PRES_CTX AssociateRqPresCtxList . (rule 149) - AssociateRqPresCtxList -> AssociateRqPresCtxList . AssociateRqPresCtx (rule 158) - AssociateRqPresCtxList -> AssociateRqPresCtxList . ',' AssociateRqPresCtx (rule 159) + RqPresCtx -> T_OPEN_BRACKET . STRING ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + VtsRqPresCtx -> T_OPEN_BRACKET . INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) - T_OPEN_BRACKET shift, and go to state 308 - ',' shift, and go to state 384 + INTEGER shift, and go to state 383 + STRING shift, and go to state 384 - $default reduce using rule 149 (AssociateRqParameter) - AssociateRqPresCtx go to state 385 - RqPresCtx go to state 311 - VtsRqPresCtx go to state 312 +state 310 + AssociateRqParameter -> T_PRES_CTX AssociateRqPresCtxList . (rule 150) + AssociateRqPresCtxList -> AssociateRqPresCtxList . AssociateRqPresCtx (rule 159) + AssociateRqPresCtxList -> AssociateRqPresCtxList . ',' AssociateRqPresCtx (rule 160) -state 310 + T_OPEN_BRACKET shift, and go to state 309 + ',' shift, and go to state 385 - AssociateRqPresCtxList -> AssociateRqPresCtx . (rule 157) + $default reduce using rule 150 (AssociateRqParameter) - $default reduce using rule 157 (AssociateRqPresCtxList) + AssociateRqPresCtx go to state 386 + RqPresCtx go to state 312 + VtsRqPresCtx go to state 313 state 311 - AssociateRqPresCtx -> RqPresCtx . (rule 160) + AssociateRqPresCtxList -> AssociateRqPresCtx . (rule 158) - $default reduce using rule 160 (AssociateRqPresCtx) + $default reduce using rule 158 (AssociateRqPresCtxList) state 312 - AssociateRqPresCtx -> VtsRqPresCtx . (rule 161) + AssociateRqPresCtx -> RqPresCtx . (rule 161) $default reduce using rule 161 (AssociateRqPresCtx) @@ -4042,15 +4046,15 @@ state 312 state 313 - AssociateRqParameter -> T_MAX_LEN INTEGER . (rule 150) + AssociateRqPresCtx -> VtsRqPresCtx . (rule 162) - $default reduce using rule 150 (AssociateRqParameter) + $default reduce using rule 162 (AssociateRqPresCtx) state 314 - AssociateRqParameter -> T_IMPL_CLASS STRING . (rule 151) + AssociateRqParameter -> T_MAX_LEN INTEGER . (rule 151) $default reduce using rule 151 (AssociateRqParameter) @@ -4058,7 +4062,7 @@ state 314 state 315 - AssociateRqParameter -> T_IMPL_VER STRING . (rule 152) + AssociateRqParameter -> T_IMPL_CLASS STRING . (rule 152) $default reduce using rule 152 (AssociateRqParameter) @@ -4066,74 +4070,73 @@ state 315 state 316 - SopClassExtended -> T_OPEN_BRACKET . STRING ',' ApplicationInfoList T_CLOSE_BRACKET (rule 169) + AssociateRqParameter -> T_IMPL_VER STRING . (rule 153) - STRING shift, and go to state 386 + $default reduce using rule 153 (AssociateRqParameter) state 317 - AssociateRqParameter -> T_SOP_EXTEND_NEG SopClassExtendedList . (rule 153) - SopClassExtendedList -> SopClassExtendedList . SopClassExtended (rule 168) + SopClassExtended -> T_OPEN_BRACKET . STRING ',' ApplicationInfoList T_CLOSE_BRACKET (rule 170) - T_OPEN_BRACKET shift, and go to state 316 + STRING shift, and go to state 387 - $default reduce using rule 153 (AssociateRqParameter) - SopClassExtended go to state 387 +state 318 + AssociateRqParameter -> T_SOP_EXTEND_NEG SopClassExtendedList . (rule 154) + SopClassExtendedList -> SopClassExtendedList . SopClassExtended (rule 169) -state 318 + T_OPEN_BRACKET shift, and go to state 317 - SopClassExtendedList -> SopClassExtended . (rule 167) + $default reduce using rule 154 (AssociateRqParameter) - $default reduce using rule 167 (SopClassExtendedList) + SopClassExtended go to state 388 state 319 - ScpScuRole -> T_OPEN_BRACKET . STRING ',' INTEGER ',' INTEGER T_CLOSE_BRACKET (rule 175) + SopClassExtendedList -> SopClassExtended . (rule 168) - STRING shift, and go to state 388 + $default reduce using rule 168 (SopClassExtendedList) state 320 - AssociateRqParameter -> T_SCPSCU_ROLE ScpScuRoleList . (rule 154) - ScpScuRoleList -> ScpScuRoleList . ScpScuRole (rule 174) + ScpScuRole -> T_OPEN_BRACKET . STRING ',' INTEGER ',' INTEGER T_CLOSE_BRACKET (rule 176) - T_OPEN_BRACKET shift, and go to state 319 + STRING shift, and go to state 389 - $default reduce using rule 154 (AssociateRqParameter) - ScpScuRole go to state 389 +state 321 + AssociateRqParameter -> T_SCPSCU_ROLE ScpScuRoleList . (rule 155) + ScpScuRoleList -> ScpScuRoleList . ScpScuRole (rule 175) -state 321 + T_OPEN_BRACKET shift, and go to state 320 - ScpScuRoleList -> ScpScuRole . (rule 173) + $default reduce using rule 155 (AssociateRqParameter) - $default reduce using rule 173 (ScpScuRoleList) + ScpScuRole go to state 390 state 322 - AssociateRqParameter -> T_ASYNC_WINDOW INTEGER . INTEGER (rule 155) + ScpScuRoleList -> ScpScuRole . (rule 174) - INTEGER shift, and go to state 390 + $default reduce using rule 174 (ScpScuRoleList) state 323 - UserIdentityNegotiation -> INTEGER . INTEGER STRING (rule 176) - UserIdentityNegotiation -> INTEGER . INTEGER STRING STRING (rule 177) + AssociateRqParameter -> T_ASYNC_WINDOW INTEGER . INTEGER (rule 156) INTEGER shift, and go to state 391 @@ -4141,47 +4144,48 @@ state 323 state 324 - UserIdentityNegotiation -> STRING . (rule 178) + UserIdentityNegotiation -> INTEGER . INTEGER STRING (rule 177) + UserIdentityNegotiation -> INTEGER . INTEGER STRING STRING (rule 178) - $default reduce using rule 178 (UserIdentityNegotiation) + INTEGER shift, and go to state 392 state 325 - AssociateRqParameter -> T_USER_ID_NEG UserIdentityNegotiation . (rule 156) + UserIdentityNegotiation -> STRING . (rule 179) - $default reduce using rule 156 (AssociateRqParameter) + $default reduce using rule 179 (UserIdentityNegotiation) state 326 - AssociateRqContents -> AssociateRq T_OPEN_BRACKET AssociateRqParameterList T_CLOSE_BRACKET . (rule 142) + AssociateRqParameter -> T_USER_ID_NEG UserIdentityNegotiation . (rule 157) - $default reduce using rule 142 (AssociateRqContents) + $default reduce using rule 157 (AssociateRqParameter) state 327 - AssociateRqParameterList -> AssociateRqParameterList AssociateRqParameter . (rule 144) + AssociateRqContents -> AssociateRq T_OPEN_BRACKET AssociateRqParameterList T_CLOSE_BRACKET . (rule 143) - $default reduce using rule 144 (AssociateRqParameterList) + $default reduce using rule 143 (AssociateRqContents) state 328 - AssociateAcParameter -> T_PROT_VER INTEGER . (rule 183) + AssociateRqParameterList -> AssociateRqParameterList AssociateRqParameter . (rule 145) - $default reduce using rule 183 (AssociateAcParameter) + $default reduce using rule 145 (AssociateRqParameterList) state 329 - AssociateAcParameter -> T_CALLED_AE STRING . (rule 184) + AssociateAcParameter -> T_PROT_VER INTEGER . (rule 184) $default reduce using rule 184 (AssociateAcParameter) @@ -4189,7 +4193,7 @@ state 329 state 330 - AssociateAcParameter -> T_CALLING_AE STRING . (rule 185) + AssociateAcParameter -> T_CALLED_AE STRING . (rule 185) $default reduce using rule 185 (AssociateAcParameter) @@ -4197,7 +4201,7 @@ state 330 state 331 - AssociateAcParameter -> T_APPL_CTX STRING . (rule 186) + AssociateAcParameter -> T_CALLING_AE STRING . (rule 186) $default reduce using rule 186 (AssociateAcParameter) @@ -4205,50 +4209,50 @@ state 331 state 332 - AcPresCtx -> T_OPEN_BRACKET . STRING ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET (rule 199) - VtsAcPresCtx -> T_OPEN_BRACKET . INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 202) + AssociateAcParameter -> T_APPL_CTX STRING . (rule 187) - INTEGER shift, and go to state 392 - STRING shift, and go to state 393 + $default reduce using rule 187 (AssociateAcParameter) state 333 - AssociateAcParameter -> T_PRES_CTX AssociateAcPresCtxList . (rule 187) - AssociateAcPresCtxList -> AssociateAcPresCtxList . AssociateAcPresCtx (rule 195) - AssociateAcPresCtxList -> AssociateAcPresCtxList . ',' AssociateAcPresCtx (rule 196) + AcPresCtx -> T_OPEN_BRACKET . STRING ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET (rule 200) + VtsAcPresCtx -> T_OPEN_BRACKET . INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 203) - T_OPEN_BRACKET shift, and go to state 332 - ',' shift, and go to state 394 + INTEGER shift, and go to state 393 + STRING shift, and go to state 394 - $default reduce using rule 187 (AssociateAcParameter) - AssociateAcPresCtx go to state 395 - AcPresCtx go to state 335 - VtsAcPresCtx go to state 336 +state 334 + AssociateAcParameter -> T_PRES_CTX AssociateAcPresCtxList . (rule 188) + AssociateAcPresCtxList -> AssociateAcPresCtxList . AssociateAcPresCtx (rule 196) + AssociateAcPresCtxList -> AssociateAcPresCtxList . ',' AssociateAcPresCtx (rule 197) -state 334 + T_OPEN_BRACKET shift, and go to state 333 + ',' shift, and go to state 395 - AssociateAcPresCtxList -> AssociateAcPresCtx . (rule 194) + $default reduce using rule 188 (AssociateAcParameter) - $default reduce using rule 194 (AssociateAcPresCtxList) + AssociateAcPresCtx go to state 396 + AcPresCtx go to state 336 + VtsAcPresCtx go to state 337 state 335 - AssociateAcPresCtx -> AcPresCtx . (rule 197) + AssociateAcPresCtxList -> AssociateAcPresCtx . (rule 195) - $default reduce using rule 197 (AssociateAcPresCtx) + $default reduce using rule 195 (AssociateAcPresCtxList) state 336 - AssociateAcPresCtx -> VtsAcPresCtx . (rule 198) + AssociateAcPresCtx -> AcPresCtx . (rule 198) $default reduce using rule 198 (AssociateAcPresCtx) @@ -4256,15 +4260,15 @@ state 336 state 337 - AssociateAcParameter -> T_MAX_LEN INTEGER . (rule 188) + AssociateAcPresCtx -> VtsAcPresCtx . (rule 199) - $default reduce using rule 188 (AssociateAcParameter) + $default reduce using rule 199 (AssociateAcPresCtx) state 338 - AssociateAcParameter -> T_IMPL_CLASS STRING . (rule 189) + AssociateAcParameter -> T_MAX_LEN INTEGER . (rule 189) $default reduce using rule 189 (AssociateAcParameter) @@ -4272,7 +4276,7 @@ state 338 state 339 - AssociateAcParameter -> T_IMPL_VER STRING . (rule 190) + AssociateAcParameter -> T_IMPL_CLASS STRING . (rule 190) $default reduce using rule 190 (AssociateAcParameter) @@ -4280,65 +4284,65 @@ state 339 state 340 - SopClassExtendedList -> SopClassExtendedList . SopClassExtended (rule 168) - AssociateAcParameter -> T_SOP_EXTEND_NEG SopClassExtendedList . (rule 191) - - T_OPEN_BRACKET shift, and go to state 316 + AssociateAcParameter -> T_IMPL_VER STRING . (rule 191) $default reduce using rule 191 (AssociateAcParameter) - SopClassExtended go to state 387 - state 341 - ScpScuRoleList -> ScpScuRoleList . ScpScuRole (rule 174) - AssociateAcParameter -> T_SCPSCU_ROLE ScpScuRoleList . (rule 192) + SopClassExtendedList -> SopClassExtendedList . SopClassExtended (rule 169) + AssociateAcParameter -> T_SOP_EXTEND_NEG SopClassExtendedList . (rule 192) - T_OPEN_BRACKET shift, and go to state 319 + T_OPEN_BRACKET shift, and go to state 317 $default reduce using rule 192 (AssociateAcParameter) - ScpScuRole go to state 389 + SopClassExtended go to state 388 state 342 - AssociateAcParameter -> T_ASYNC_WINDOW INTEGER . INTEGER (rule 193) + ScpScuRoleList -> ScpScuRoleList . ScpScuRole (rule 175) + AssociateAcParameter -> T_SCPSCU_ROLE ScpScuRoleList . (rule 193) + + T_OPEN_BRACKET shift, and go to state 320 + + $default reduce using rule 193 (AssociateAcParameter) - INTEGER shift, and go to state 396 + ScpScuRole go to state 390 state 343 - AssociateAcContents -> AssociateAc T_OPEN_BRACKET AssociateAcParameterList T_CLOSE_BRACKET . (rule 180) + AssociateAcParameter -> T_ASYNC_WINDOW INTEGER . INTEGER (rule 194) - $default reduce using rule 180 (AssociateAcContents) + INTEGER shift, and go to state 397 state 344 - AssociateAcParameterList -> AssociateAcParameterList AssociateAcParameter . (rule 182) + AssociateAcContents -> AssociateAc T_OPEN_BRACKET AssociateAcParameterList T_CLOSE_BRACKET . (rule 181) - $default reduce using rule 182 (AssociateAcParameterList) + $default reduce using rule 181 (AssociateAcContents) state 345 - AssociateRjParameter -> T_RESULT INTEGER . (rule 209) + AssociateAcParameterList -> AssociateAcParameterList AssociateAcParameter . (rule 183) - $default reduce using rule 209 (AssociateRjParameter) + $default reduce using rule 183 (AssociateAcParameterList) state 346 - AssociateRjParameter -> T_SOURCE INTEGER . (rule 210) + AssociateRjParameter -> T_RESULT INTEGER . (rule 210) $default reduce using rule 210 (AssociateRjParameter) @@ -4346,7 +4350,7 @@ state 346 state 347 - AssociateRjParameter -> T_REASON INTEGER . (rule 211) + AssociateRjParameter -> T_SOURCE INTEGER . (rule 211) $default reduce using rule 211 (AssociateRjParameter) @@ -4354,31 +4358,31 @@ state 347 state 348 - AssociateRjContents -> AssociateRj T_OPEN_BRACKET AssociateRjParameterList T_CLOSE_BRACKET . (rule 206) + AssociateRjParameter -> T_REASON INTEGER . (rule 212) - $default reduce using rule 206 (AssociateRjContents) + $default reduce using rule 212 (AssociateRjParameter) state 349 - AssociateRjParameterList -> AssociateRjParameterList AssociateRjParameter . (rule 208) + AssociateRjContents -> AssociateRj T_OPEN_BRACKET AssociateRjParameterList T_CLOSE_BRACKET . (rule 207) - $default reduce using rule 208 (AssociateRjParameterList) + $default reduce using rule 207 (AssociateRjContents) state 350 - AbortRqParameter -> T_SOURCE INTEGER . (rule 218) + AssociateRjParameterList -> AssociateRjParameterList AssociateRjParameter . (rule 209) - $default reduce using rule 218 (AbortRqParameter) + $default reduce using rule 209 (AssociateRjParameterList) state 351 - AbortRqParameter -> T_REASON INTEGER . (rule 219) + AbortRqParameter -> T_SOURCE INTEGER . (rule 219) $default reduce using rule 219 (AbortRqParameter) @@ -4386,73 +4390,73 @@ state 351 state 352 - AbortRqContents -> AbortRq T_OPEN_BRACKET AbortRqParameterList T_CLOSE_BRACKET . (rule 215) + AbortRqParameter -> T_REASON INTEGER . (rule 220) - $default reduce using rule 215 (AbortRqContents) + $default reduce using rule 220 (AbortRqParameter) state 353 - AbortRqParameterList -> AbortRqParameterList AbortRqParameter . (rule 217) + AbortRqContents -> AbortRq T_OPEN_BRACKET AbortRqParameterList T_CLOSE_BRACKET . (rule 216) - $default reduce using rule 217 (AbortRqParameterList) + $default reduce using rule 216 (AbortRqContents) state 354 - Attribute -> T_OPEN_BRACKET AttributeIdentification . ',' AttributeValue T_CLOSE_BRACKET (rule 252) + AbortRqParameterList -> AbortRqParameterList AbortRqParameter . (rule 218) - ',' shift, and go to state 397 + $default reduce using rule 218 (AbortRqParameterList) state 355 - AttributeIdentification -> AttributeTag . (rule 254) - TagRef -> AttributeTag . (rule 292) + Attribute -> T_OPEN_BRACKET AttributeIdentification . ',' AttributeValue T_CLOSE_BRACKET (rule 253) - T_CLOSE_BRACKET reduce using rule 292 (TagRef) - $default reduce using rule 254 (AttributeIdentification) + ',' shift, and go to state 398 state 356 - Attribute -> T_OPEN_BRACKET TagRef . T_CLOSE_BRACKET (rule 253) + AttributeIdentification -> AttributeTag . (rule 255) + TagRef -> AttributeTag . (rule 293) - T_CLOSE_BRACKET shift, and go to state 398 + T_CLOSE_BRACKET reduce using rule 293 (TagRef) + $default reduce using rule 255 (AttributeIdentification) state 357 - CommandContents -> CommandRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET . (rule 232) + Attribute -> T_OPEN_BRACKET TagRef . T_CLOSE_BRACKET (rule 254) - $default reduce using rule 232 (CommandContents) + T_CLOSE_BRACKET shift, and go to state 399 state 358 - AttributeList -> AttributeList Attribute . (rule 251) + CommandContents -> CommandRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET . (rule 233) - $default reduce using rule 251 (AttributeList) + $default reduce using rule 233 (CommandContents) state 359 - PresentationContextId -> T_OPEN_BRACKET HEXADECIMAL . T_CLOSE_BRACKET (rule 107) + AttributeList -> AttributeList Attribute . (rule 252) - T_CLOSE_BRACKET shift, and go to state 399 + $default reduce using rule 252 (AttributeList) state 360 - PresentationContextId -> T_OPEN_BRACKET INTEGER . T_CLOSE_BRACKET (rule 108) + PresentationContextId -> T_OPEN_BRACKET HEXADECIMAL . T_CLOSE_BRACKET (rule 108) T_CLOSE_BRACKET shift, and go to state 400 @@ -4460,71 +4464,71 @@ state 360 state 361 - DatasetContents -> DatasetRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET . (rule 240) + PresentationContextId -> T_OPEN_BRACKET INTEGER . T_CLOSE_BRACKET (rule 109) - $default reduce using rule 240 (DatasetContents) + T_CLOSE_BRACKET shift, and go to state 401 state 362 - FilePreamble -> T_FILE_PREAMBLE STRING . (rule 310) + DatasetContents -> DatasetRef T_OPEN_BRACKET AttributeList T_CLOSE_BRACKET . (rule 241) - $default reduce using rule 310 (FilePreamble) + $default reduce using rule 241 (DatasetContents) state 363 - DicomPrefix -> T_DICOM_PREFIX STRING . (rule 311) + FilePreamble -> T_FILE_PREAMBLE STRING . (rule 311) - $default reduce using rule 311 (DicomPrefix) + $default reduce using rule 311 (FilePreamble) state 364 - TransferSyntax -> STRING . (rule 166) + DicomPrefix -> T_DICOM_PREFIX STRING . (rule 312) - $default reduce using rule 166 (TransferSyntax) + $default reduce using rule 312 (DicomPrefix) state 365 - FileTransferSyntax -> T_TRANSFER_SYNTAX TransferSyntax . (rule 312) + TransferSyntax -> STRING . (rule 167) - $default reduce using rule 312 (FileTransferSyntax) + $default reduce using rule 167 (TransferSyntax) state 366 - FileheadContents -> Filehead T_OPEN_BRACKET FileheadParameterList T_CLOSE_BRACKET . (rule 303) + FileTransferSyntax -> T_TRANSFER_SYNTAX TransferSyntax . (rule 313) - $default reduce using rule 303 (FileheadContents) + $default reduce using rule 313 (FileTransferSyntax) state 367 - FileheadParameterList -> FileheadParameterList FileheadParameter . (rule 306) + FileheadContents -> Filehead T_OPEN_BRACKET FileheadParameterList T_CLOSE_BRACKET . (rule 304) - $default reduce using rule 306 (FileheadParameterList) + $default reduce using rule 304 (FileheadContents) state 368 - DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_YES . (rule 321) + FileheadParameterList -> FileheadParameterList FileheadParameter . (rule 307) - $default reduce using rule 321 (DatasetTrailingPadding) + $default reduce using rule 307 (FileheadParameterList) state 369 - DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_NO . (rule 322) + DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_YES . (rule 322) $default reduce using rule 322 (DatasetTrailingPadding) @@ -4532,101 +4536,101 @@ state 369 state 370 - SectorSize -> T_SECTOR_SIZE INTEGER . (rule 323) + DatasetTrailingPadding -> T_DATASET_TRAILING_PADDING T_NO . (rule 323) - $default reduce using rule 323 (SectorSize) + $default reduce using rule 323 (DatasetTrailingPadding) state 371 - PaddingValue -> T_PADDING_VALUE INTEGER . (rule 324) + SectorSize -> T_SECTOR_SIZE INTEGER . (rule 324) - $default reduce using rule 324 (PaddingValue) + $default reduce using rule 324 (SectorSize) state 372 - FiletailContents -> Filetail T_OPEN_BRACKET FiletailParameterList T_CLOSE_BRACKET . (rule 314) + PaddingValue -> T_PADDING_VALUE INTEGER . (rule 325) - $default reduce using rule 314 (FiletailContents) + $default reduce using rule 325 (PaddingValue) state 373 - FiletailParameterList -> FiletailParameterList FiletailParameter . (rule 317) + FiletailContents -> Filetail T_OPEN_BRACKET FiletailParameterList T_CLOSE_BRACKET . (rule 315) - $default reduce using rule 317 (FiletailParameterList) + $default reduce using rule 315 (FiletailContents) state 374 - ReferenceSopList -> ReferenceSopList T_OR ReferenceSopRef . (rule 119) + FiletailParameterList -> FiletailParameterList FiletailParameter . (rule 318) - $default reduce using rule 119 (ReferenceSopList) + $default reduce using rule 318 (FiletailParameterList) state 375 - ReferenceSopRef -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 121) + ReferenceSopList -> ReferenceSopList T_OR ReferenceSopRef . (rule 120) - IDENTIFIER shift, and go to state 185 - STRING shift, and go to state 186 - - DatasetIdentifier go to state 401 + $default reduce using rule 120 (ReferenceSopList) state 376 - SourceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 116) + ReferenceSopRef -> DimseCmd CommandIdentifier IomIod . DatasetIdentifier (rule 122) - $default reduce using rule 116 (SourceSopRef) + IDENTIFIER shift, and go to state 186 + STRING shift, and go to state 187 + + DatasetIdentifier go to state 402 state 377 - ImportList -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 64) + SourceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 117) - $default reduce using rule 64 (ImportList) + $default reduce using rule 117 (SourceSopRef) state 378 - ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 60) - ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . T_PRES_CTX PresentationContextId (rule 61) + ImportList -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 65) - T_PRES_CTX shift, and go to state 402 - - $default reduce using rule 60 (ExportDimseObjects) + $default reduce using rule 65 (ImportList) state 379 - ItemNumber -> '[' INTEGER . ']' (rule 301) + ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 61) + ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . T_PRES_CTX PresentationContextId (rule 62) - ']' shift, and go to state 403 + T_PRES_CTX shift, and go to state 403 + + $default reduce using rule 61 (ExportDimseObjects) state 380 - SequenceRef -> T_OPEN_BRACKET Dataset TagRef ItemNumber T_CLOSE_BRACKET . (rule 298) + ItemNumber -> '[' INTEGER . ']' (rule 302) - $default reduce using rule 298 (SequenceRef) + ']' shift, and go to state 404 state 381 - SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef ItemNumber T_CLOSE_BRACKET . (rule 299) + SequenceRef -> T_OPEN_BRACKET Dataset TagRef ItemNumber T_CLOSE_BRACKET . (rule 299) $default reduce using rule 299 (SequenceRef) @@ -4634,15 +4638,15 @@ state 381 state 382 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER . ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + SequenceRef -> T_OPEN_BRACKET SequenceRef TagRef ItemNumber T_CLOSE_BRACKET . (rule 300) - ',' shift, and go to state 404 + $default reduce using rule 300 (SequenceRef) state 383 - RqPresCtx -> T_OPEN_BRACKET STRING . ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 162) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER . ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) ',' shift, and go to state 405 @@ -4650,84 +4654,84 @@ state 383 state 384 - AssociateRqPresCtxList -> AssociateRqPresCtxList ',' . AssociateRqPresCtx (rule 159) + RqPresCtx -> T_OPEN_BRACKET STRING . ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) - T_OPEN_BRACKET shift, and go to state 308 - - AssociateRqPresCtx go to state 406 - RqPresCtx go to state 311 - VtsRqPresCtx go to state 312 + ',' shift, and go to state 406 state 385 - AssociateRqPresCtxList -> AssociateRqPresCtxList AssociateRqPresCtx . (rule 158) + AssociateRqPresCtxList -> AssociateRqPresCtxList ',' . AssociateRqPresCtx (rule 160) - $default reduce using rule 158 (AssociateRqPresCtxList) + T_OPEN_BRACKET shift, and go to state 309 + + AssociateRqPresCtx go to state 407 + RqPresCtx go to state 312 + VtsRqPresCtx go to state 313 state 386 - SopClassExtended -> T_OPEN_BRACKET STRING . ',' ApplicationInfoList T_CLOSE_BRACKET (rule 169) + AssociateRqPresCtxList -> AssociateRqPresCtxList AssociateRqPresCtx . (rule 159) - ',' shift, and go to state 407 + $default reduce using rule 159 (AssociateRqPresCtxList) state 387 - SopClassExtendedList -> SopClassExtendedList SopClassExtended . (rule 168) + SopClassExtended -> T_OPEN_BRACKET STRING . ',' ApplicationInfoList T_CLOSE_BRACKET (rule 170) - $default reduce using rule 168 (SopClassExtendedList) + ',' shift, and go to state 408 state 388 - ScpScuRole -> T_OPEN_BRACKET STRING . ',' INTEGER ',' INTEGER T_CLOSE_BRACKET (rule 175) + SopClassExtendedList -> SopClassExtendedList SopClassExtended . (rule 169) - ',' shift, and go to state 408 + $default reduce using rule 169 (SopClassExtendedList) state 389 - ScpScuRoleList -> ScpScuRoleList ScpScuRole . (rule 174) + ScpScuRole -> T_OPEN_BRACKET STRING . ',' INTEGER ',' INTEGER T_CLOSE_BRACKET (rule 176) - $default reduce using rule 174 (ScpScuRoleList) + ',' shift, and go to state 409 state 390 - AssociateRqParameter -> T_ASYNC_WINDOW INTEGER INTEGER . (rule 155) + ScpScuRoleList -> ScpScuRoleList ScpScuRole . (rule 175) - $default reduce using rule 155 (AssociateRqParameter) + $default reduce using rule 175 (ScpScuRoleList) state 391 - UserIdentityNegotiation -> INTEGER INTEGER . STRING (rule 176) - UserIdentityNegotiation -> INTEGER INTEGER . STRING STRING (rule 177) + AssociateRqParameter -> T_ASYNC_WINDOW INTEGER INTEGER . (rule 156) - STRING shift, and go to state 409 + $default reduce using rule 156 (AssociateRqParameter) state 392 - VtsAcPresCtx -> T_OPEN_BRACKET INTEGER . ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 202) + UserIdentityNegotiation -> INTEGER INTEGER . STRING (rule 177) + UserIdentityNegotiation -> INTEGER INTEGER . STRING STRING (rule 178) - ',' shift, and go to state 410 + STRING shift, and go to state 410 state 393 - AcPresCtx -> T_OPEN_BRACKET STRING . ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET (rule 199) + VtsAcPresCtx -> T_OPEN_BRACKET INTEGER . ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 203) ',' shift, and go to state 411 @@ -4735,71 +4739,71 @@ state 393 state 394 - AssociateAcPresCtxList -> AssociateAcPresCtxList ',' . AssociateAcPresCtx (rule 196) - - T_OPEN_BRACKET shift, and go to state 332 + AcPresCtx -> T_OPEN_BRACKET STRING . ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET (rule 200) - AssociateAcPresCtx go to state 412 - AcPresCtx go to state 335 - VtsAcPresCtx go to state 336 + ',' shift, and go to state 412 state 395 - AssociateAcPresCtxList -> AssociateAcPresCtxList AssociateAcPresCtx . (rule 195) + AssociateAcPresCtxList -> AssociateAcPresCtxList ',' . AssociateAcPresCtx (rule 197) - $default reduce using rule 195 (AssociateAcPresCtxList) + T_OPEN_BRACKET shift, and go to state 333 + + AssociateAcPresCtx go to state 413 + AcPresCtx go to state 336 + VtsAcPresCtx go to state 337 state 396 - AssociateAcParameter -> T_ASYNC_WINDOW INTEGER INTEGER . (rule 193) + AssociateAcPresCtxList -> AssociateAcPresCtxList AssociateAcPresCtx . (rule 196) - $default reduce using rule 193 (AssociateAcParameter) + $default reduce using rule 196 (AssociateAcPresCtxList) state 397 - Attribute -> T_OPEN_BRACKET AttributeIdentification ',' . AttributeValue T_CLOSE_BRACKET (rule 252) + AssociateAcParameter -> T_ASYNC_WINDOW INTEGER INTEGER . (rule 194) - T_SQ shift, and go to state 413 - T_OPEN_BRACKET shift, and go to state 414 - VR shift, and go to state 415 - '[' shift, and go to state 416 + $default reduce using rule 194 (AssociateAcParameter) - $default reduce using rule 274 (OptionalVR) - AttributeValue go to state 417 - SequenceValue go to state 418 - SequenceVR go to state 419 - OtherValue go to state 420 - OptionalVR go to state 421 - AttributeVR go to state 422 +state 398 + Attribute -> T_OPEN_BRACKET AttributeIdentification ',' . AttributeValue T_CLOSE_BRACKET (rule 253) -state 398 + T_SQ shift, and go to state 414 + T_OPEN_BRACKET shift, and go to state 415 + VR shift, and go to state 416 + '[' shift, and go to state 417 - Attribute -> T_OPEN_BRACKET TagRef T_CLOSE_BRACKET . (rule 253) + $default reduce using rule 275 (OptionalVR) - $default reduce using rule 253 (Attribute) + AttributeValue go to state 418 + SequenceValue go to state 419 + SequenceVR go to state 420 + OtherValue go to state 421 + OptionalVR go to state 422 + AttributeVR go to state 423 state 399 - PresentationContextId -> T_OPEN_BRACKET HEXADECIMAL T_CLOSE_BRACKET . (rule 107) + Attribute -> T_OPEN_BRACKET TagRef T_CLOSE_BRACKET . (rule 254) - $default reduce using rule 107 (PresentationContextId) + $default reduce using rule 254 (Attribute) state 400 - PresentationContextId -> T_OPEN_BRACKET INTEGER T_CLOSE_BRACKET . (rule 108) + PresentationContextId -> T_OPEN_BRACKET HEXADECIMAL T_CLOSE_BRACKET . (rule 108) $default reduce using rule 108 (PresentationContextId) @@ -4807,98 +4811,98 @@ state 400 state 401 - ReferenceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 121) + PresentationContextId -> T_OPEN_BRACKET INTEGER T_CLOSE_BRACKET . (rule 109) - $default reduce using rule 121 (ReferenceSopRef) + $default reduce using rule 109 (PresentationContextId) state 402 - ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX . PresentationContextId (rule 61) - - T_OPEN_BRACKET shift, and go to state 272 + ReferenceSopRef -> DimseCmd CommandIdentifier IomIod DatasetIdentifier . (rule 122) - PresentationContextId go to state 423 + $default reduce using rule 122 (ReferenceSopRef) state 403 - ItemNumber -> '[' INTEGER ']' . (rule 301) + ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX . PresentationContextId (rule 62) - $default reduce using rule 301 (ItemNumber) + T_OPEN_BRACKET shift, and go to state 273 + + PresentationContextId go to state 424 state 404 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' . STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + ItemNumber -> '[' INTEGER ']' . (rule 302) - STRING shift, and go to state 424 + $default reduce using rule 302 (ItemNumber) state 405 - RqPresCtx -> T_OPEN_BRACKET STRING ',' . RqTransferSyntaxList T_CLOSE_BRACKET (rule 162) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' . STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) - STRING shift, and go to state 364 - - RqTransferSyntaxList go to state 425 - TransferSyntax go to state 426 + STRING shift, and go to state 425 state 406 - AssociateRqPresCtxList -> AssociateRqPresCtxList ',' AssociateRqPresCtx . (rule 159) + RqPresCtx -> T_OPEN_BRACKET STRING ',' . RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) - $default reduce using rule 159 (AssociateRqPresCtxList) + STRING shift, and go to state 365 + RqTransferSyntaxList go to state 426 + TransferSyntax go to state 427 -state 407 - SopClassExtended -> T_OPEN_BRACKET STRING ',' . ApplicationInfoList T_CLOSE_BRACKET (rule 169) +state 407 - INTEGER shift, and go to state 427 + AssociateRqPresCtxList -> AssociateRqPresCtxList ',' AssociateRqPresCtx . (rule 160) - ApplicationInfoList go to state 428 - ApplicationInfoByte go to state 429 + $default reduce using rule 160 (AssociateRqPresCtxList) state 408 - ScpScuRole -> T_OPEN_BRACKET STRING ',' . INTEGER ',' INTEGER T_CLOSE_BRACKET (rule 175) + SopClassExtended -> T_OPEN_BRACKET STRING ',' . ApplicationInfoList T_CLOSE_BRACKET (rule 170) - INTEGER shift, and go to state 430 + INTEGER shift, and go to state 428 + ApplicationInfoList go to state 429 + ApplicationInfoByte go to state 430 -state 409 - UserIdentityNegotiation -> INTEGER INTEGER STRING . (rule 176) - UserIdentityNegotiation -> INTEGER INTEGER STRING . STRING (rule 177) +state 409 - STRING shift, and go to state 431 + ScpScuRole -> T_OPEN_BRACKET STRING ',' . INTEGER ',' INTEGER T_CLOSE_BRACKET (rule 176) - $default reduce using rule 176 (UserIdentityNegotiation) + INTEGER shift, and go to state 431 state 410 - VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' . INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 202) + UserIdentityNegotiation -> INTEGER INTEGER STRING . (rule 177) + UserIdentityNegotiation -> INTEGER INTEGER STRING . STRING (rule 178) + + STRING shift, and go to state 432 - INTEGER shift, and go to state 432 + $default reduce using rule 177 (UserIdentityNegotiation) state 411 - AcPresCtx -> T_OPEN_BRACKET STRING ',' . INTEGER AcTransferSyntax T_CLOSE_BRACKET (rule 199) + VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' . INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 203) INTEGER shift, and go to state 433 @@ -4906,233 +4910,233 @@ state 411 state 412 - AssociateAcPresCtxList -> AssociateAcPresCtxList ',' AssociateAcPresCtx . (rule 196) + AcPresCtx -> T_OPEN_BRACKET STRING ',' . INTEGER AcTransferSyntax T_CLOSE_BRACKET (rule 200) - $default reduce using rule 196 (AssociateAcPresCtxList) + INTEGER shift, and go to state 434 state 413 - SequenceVR -> T_SQ . (rule 259) + AssociateAcPresCtxList -> AssociateAcPresCtxList ',' AssociateAcPresCtx . (rule 197) - $default reduce using rule 259 (SequenceVR) + $default reduce using rule 197 (AssociateAcPresCtxList) state 414 - AttributeVR -> T_OPEN_BRACKET . VR T_CLOSE_BRACKET (rule 278) - AttributeVR -> T_OPEN_BRACKET . '[' VR ']' T_CLOSE_BRACKET (rule 279) - AttributeVR -> T_OPEN_BRACKET . VR '?' T_CLOSE_BRACKET (rule 280) - AttributeVR -> T_OPEN_BRACKET . '[' VR ']' '?' T_CLOSE_BRACKET (rule 281) + SequenceVR -> T_SQ . (rule 260) - VR shift, and go to state 434 - '[' shift, and go to state 435 + $default reduce using rule 260 (SequenceVR) state 415 - AttributeVR -> VR . (rule 276) + AttributeVR -> T_OPEN_BRACKET . VR T_CLOSE_BRACKET (rule 279) + AttributeVR -> T_OPEN_BRACKET . '[' VR ']' T_CLOSE_BRACKET (rule 280) + AttributeVR -> T_OPEN_BRACKET . VR '?' T_CLOSE_BRACKET (rule 281) + AttributeVR -> T_OPEN_BRACKET . '[' VR ']' '?' T_CLOSE_BRACKET (rule 282) - $default reduce using rule 276 (AttributeVR) + VR shift, and go to state 435 + '[' shift, and go to state 436 state 416 - SequenceVR -> '[' . T_SQ ']' (rule 260) - AttributeVR -> '[' . VR ']' (rule 277) + AttributeVR -> VR . (rule 277) - T_SQ shift, and go to state 436 - VR shift, and go to state 437 + $default reduce using rule 277 (AttributeVR) state 417 - Attribute -> T_OPEN_BRACKET AttributeIdentification ',' AttributeValue . T_CLOSE_BRACKET (rule 252) + SequenceVR -> '[' . T_SQ ']' (rule 261) + AttributeVR -> '[' . VR ']' (rule 278) - T_CLOSE_BRACKET shift, and go to state 438 + T_SQ shift, and go to state 437 + VR shift, and go to state 438 state 418 - AttributeValue -> SequenceValue . (rule 256) + Attribute -> T_OPEN_BRACKET AttributeIdentification ',' AttributeValue . T_CLOSE_BRACKET (rule 253) - $default reduce using rule 256 (AttributeValue) + T_CLOSE_BRACKET shift, and go to state 439 state 419 - SequenceValue -> SequenceVR . ',' ItemList (rule 258) + AttributeValue -> SequenceValue . (rule 257) - ',' shift, and go to state 439 + $default reduce using rule 257 (AttributeValue) state 420 - AttributeValue -> OtherValue . (rule 257) + SequenceValue -> SequenceVR . ',' ItemList (rule 259) - $default reduce using rule 257 (AttributeValue) + ',' shift, and go to state 440 state 421 - OtherValue -> OptionalVR . Values (rule 273) + AttributeValue -> OtherValue . (rule 258) - T_AUTOSET shift, and go to state 440 - HEXADECIMAL shift, and go to state 441 - INTEGER shift, and go to state 442 - STRING shift, and go to state 443 + $default reduce using rule 258 (AttributeValue) - $default reduce using rule 282 (Values) - Values go to state 444 - VMList go to state 445 - Value go to state 446 +state 422 + OtherValue -> OptionalVR . Values (rule 274) -state 422 + T_AUTOSET shift, and go to state 441 + HEXADECIMAL shift, and go to state 442 + INTEGER shift, and go to state 443 + STRING shift, and go to state 444 - OptionalVR -> AttributeVR . ',' (rule 275) + $default reduce using rule 283 (Values) - ',' shift, and go to state 447 + Values go to state 445 + VMList go to state 446 + Value go to state 447 state 423 - ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX PresentationContextId . (rule 61) + OptionalVR -> AttributeVR . ',' (rule 276) - $default reduce using rule 61 (ExportDimseObjects) + ',' shift, and go to state 448 state 424 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING . ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + ExportDimseObjects -> DimseCmd CommandIdentifier IomIod DatasetIdentifier T_PRES_CTX PresentationContextId . (rule 62) - ',' shift, and go to state 448 + $default reduce using rule 62 (ExportDimseObjects) state 425 - RqPresCtx -> T_OPEN_BRACKET STRING ',' RqTransferSyntaxList . T_CLOSE_BRACKET (rule 162) - RqTransferSyntaxList -> RqTransferSyntaxList . ',' TransferSyntax (rule 165) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING . ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) - T_CLOSE_BRACKET shift, and go to state 449 - ',' shift, and go to state 450 + ',' shift, and go to state 449 state 426 - RqTransferSyntaxList -> TransferSyntax . (rule 164) + RqPresCtx -> T_OPEN_BRACKET STRING ',' RqTransferSyntaxList . T_CLOSE_BRACKET (rule 163) + RqTransferSyntaxList -> RqTransferSyntaxList . ',' TransferSyntax (rule 166) - $default reduce using rule 164 (RqTransferSyntaxList) + T_CLOSE_BRACKET shift, and go to state 450 + ',' shift, and go to state 451 state 427 - ApplicationInfoByte -> INTEGER . (rule 172) + RqTransferSyntaxList -> TransferSyntax . (rule 165) - $default reduce using rule 172 (ApplicationInfoByte) + $default reduce using rule 165 (RqTransferSyntaxList) state 428 - SopClassExtended -> T_OPEN_BRACKET STRING ',' ApplicationInfoList . T_CLOSE_BRACKET (rule 169) - ApplicationInfoList -> ApplicationInfoList . ',' ApplicationInfoByte (rule 171) + ApplicationInfoByte -> INTEGER . (rule 173) - T_CLOSE_BRACKET shift, and go to state 451 - ',' shift, and go to state 452 + $default reduce using rule 173 (ApplicationInfoByte) state 429 - ApplicationInfoList -> ApplicationInfoByte . (rule 170) + SopClassExtended -> T_OPEN_BRACKET STRING ',' ApplicationInfoList . T_CLOSE_BRACKET (rule 170) + ApplicationInfoList -> ApplicationInfoList . ',' ApplicationInfoByte (rule 172) - $default reduce using rule 170 (ApplicationInfoList) + T_CLOSE_BRACKET shift, and go to state 452 + ',' shift, and go to state 453 state 430 - ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER . ',' INTEGER T_CLOSE_BRACKET (rule 175) + ApplicationInfoList -> ApplicationInfoByte . (rule 171) - ',' shift, and go to state 453 + $default reduce using rule 171 (ApplicationInfoList) state 431 - UserIdentityNegotiation -> INTEGER INTEGER STRING STRING . (rule 177) + ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER . ',' INTEGER T_CLOSE_BRACKET (rule 176) - $default reduce using rule 177 (UserIdentityNegotiation) + ',' shift, and go to state 454 state 432 - VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER . ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 202) + UserIdentityNegotiation -> INTEGER INTEGER STRING STRING . (rule 178) - ',' shift, and go to state 454 + $default reduce using rule 178 (UserIdentityNegotiation) state 433 - AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER . AcTransferSyntax T_CLOSE_BRACKET (rule 199) + VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER . ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 203) ',' shift, and go to state 455 - $default reduce using rule 200 (AcTransferSyntax) - AcTransferSyntax go to state 456 +state 434 + AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER . AcTransferSyntax T_CLOSE_BRACKET (rule 200) -state 434 + ',' shift, and go to state 456 - AttributeVR -> T_OPEN_BRACKET VR . T_CLOSE_BRACKET (rule 278) - AttributeVR -> T_OPEN_BRACKET VR . '?' T_CLOSE_BRACKET (rule 280) + $default reduce using rule 201 (AcTransferSyntax) - T_CLOSE_BRACKET shift, and go to state 457 - '?' shift, and go to state 458 + AcTransferSyntax go to state 457 state 435 - AttributeVR -> T_OPEN_BRACKET '[' . VR ']' T_CLOSE_BRACKET (rule 279) - AttributeVR -> T_OPEN_BRACKET '[' . VR ']' '?' T_CLOSE_BRACKET (rule 281) + AttributeVR -> T_OPEN_BRACKET VR . T_CLOSE_BRACKET (rule 279) + AttributeVR -> T_OPEN_BRACKET VR . '?' T_CLOSE_BRACKET (rule 281) - VR shift, and go to state 459 + T_CLOSE_BRACKET shift, and go to state 458 + '?' shift, and go to state 459 state 436 - SequenceVR -> '[' T_SQ . ']' (rule 260) + AttributeVR -> T_OPEN_BRACKET '[' . VR ']' T_CLOSE_BRACKET (rule 280) + AttributeVR -> T_OPEN_BRACKET '[' . VR ']' '?' T_CLOSE_BRACKET (rule 282) - ']' shift, and go to state 460 + VR shift, and go to state 460 state 437 - AttributeVR -> '[' VR . ']' (rule 277) + SequenceVR -> '[' T_SQ . ']' (rule 261) ']' shift, and go to state 461 @@ -5140,50 +5144,50 @@ state 437 state 438 - Attribute -> T_OPEN_BRACKET AttributeIdentification ',' AttributeValue T_CLOSE_BRACKET . (rule 252) + AttributeVR -> '[' VR . ']' (rule 278) - $default reduce using rule 252 (Attribute) + ']' shift, and go to state 462 state 439 - SequenceValue -> SequenceVR ',' . ItemList (rule 258) + Attribute -> T_OPEN_BRACKET AttributeIdentification ',' AttributeValue T_CLOSE_BRACKET . (rule 253) - STRING shift, and go to state 462 - '>' shift, and go to state 463 + $default reduce using rule 253 (Attribute) - $default reduce using rule 268 (ItemByValue) - ItemList go to state 464 - ItemByReferenceList go to state 465 - ItemByReference go to state 466 - ItemByValueList go to state 467 - ItemByValue go to state 468 - ItemAttributeList go to state 469 - ItemAttribute go to state 470 +state 440 + SequenceValue -> SequenceVR ',' . ItemList (rule 259) -state 440 + STRING shift, and go to state 463 + '>' shift, and go to state 464 - Value -> T_AUTOSET . (rule 289) + $default reduce using rule 269 (ItemByValue) - $default reduce using rule 289 (Value) + ItemList go to state 465 + ItemByReferenceList go to state 466 + ItemByReference go to state 467 + ItemByValueList go to state 468 + ItemByValue go to state 469 + ItemAttributeList go to state 470 + ItemAttribute go to state 471 state 441 - Value -> HEXADECIMAL . (rule 287) + Value -> T_AUTOSET . (rule 290) - $default reduce using rule 287 (Value) + $default reduce using rule 290 (Value) state 442 - Value -> INTEGER . (rule 288) + Value -> HEXADECIMAL . (rule 288) $default reduce using rule 288 (Value) @@ -5191,465 +5195,465 @@ state 442 state 443 - Value -> STRING . (rule 286) + Value -> INTEGER . (rule 289) - $default reduce using rule 286 (Value) + $default reduce using rule 289 (Value) state 444 - OtherValue -> OptionalVR Values . (rule 273) + Value -> STRING . (rule 287) - $default reduce using rule 273 (OtherValue) + $default reduce using rule 287 (Value) state 445 - Values -> VMList . (rule 283) - VMList -> VMList . ',' Value (rule 285) - - ',' shift, and go to state 471 + OtherValue -> OptionalVR Values . (rule 274) - $default reduce using rule 283 (Values) + $default reduce using rule 274 (OtherValue) state 446 - VMList -> Value . (rule 284) + Values -> VMList . (rule 284) + VMList -> VMList . ',' Value (rule 286) + + ',' shift, and go to state 472 - $default reduce using rule 284 (VMList) + $default reduce using rule 284 (Values) state 447 - OptionalVR -> AttributeVR ',' . (rule 275) + VMList -> Value . (rule 285) - $default reduce using rule 275 (OptionalVR) + $default reduce using rule 285 (VMList) state 448 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' . INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + OptionalVR -> AttributeVR ',' . (rule 276) - INTEGER shift, and go to state 472 + $default reduce using rule 276 (OptionalVR) state 449 - RqPresCtx -> T_OPEN_BRACKET STRING ',' RqTransferSyntaxList T_CLOSE_BRACKET . (rule 162) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' . INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) - $default reduce using rule 162 (RqPresCtx) + INTEGER shift, and go to state 473 state 450 - RqTransferSyntaxList -> RqTransferSyntaxList ',' . TransferSyntax (rule 165) + RqPresCtx -> T_OPEN_BRACKET STRING ',' RqTransferSyntaxList T_CLOSE_BRACKET . (rule 163) - STRING shift, and go to state 364 - - TransferSyntax go to state 473 + $default reduce using rule 163 (RqPresCtx) state 451 - SopClassExtended -> T_OPEN_BRACKET STRING ',' ApplicationInfoList T_CLOSE_BRACKET . (rule 169) + RqTransferSyntaxList -> RqTransferSyntaxList ',' . TransferSyntax (rule 166) - $default reduce using rule 169 (SopClassExtended) + STRING shift, and go to state 365 + TransferSyntax go to state 474 -state 452 - ApplicationInfoList -> ApplicationInfoList ',' . ApplicationInfoByte (rule 171) +state 452 - INTEGER shift, and go to state 427 + SopClassExtended -> T_OPEN_BRACKET STRING ',' ApplicationInfoList T_CLOSE_BRACKET . (rule 170) - ApplicationInfoByte go to state 474 + $default reduce using rule 170 (SopClassExtended) state 453 - ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' . INTEGER T_CLOSE_BRACKET (rule 175) + ApplicationInfoList -> ApplicationInfoList ',' . ApplicationInfoByte (rule 172) - INTEGER shift, and go to state 475 + INTEGER shift, and go to state 428 + + ApplicationInfoByte go to state 475 state 454 - VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' . STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 202) + ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' . INTEGER T_CLOSE_BRACKET (rule 176) - STRING shift, and go to state 476 + INTEGER shift, and go to state 476 state 455 - AcTransferSyntax -> ',' . TransferSyntax (rule 201) - - STRING shift, and go to state 364 + VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' . STRING MoreAcPresentationContext T_CLOSE_BRACKET (rule 203) - TransferSyntax go to state 477 + STRING shift, and go to state 477 state 456 - AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER AcTransferSyntax . T_CLOSE_BRACKET (rule 199) + AcTransferSyntax -> ',' . TransferSyntax (rule 202) - T_CLOSE_BRACKET shift, and go to state 478 + STRING shift, and go to state 365 + + TransferSyntax go to state 478 state 457 - AttributeVR -> T_OPEN_BRACKET VR T_CLOSE_BRACKET . (rule 278) + AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER AcTransferSyntax . T_CLOSE_BRACKET (rule 200) - $default reduce using rule 278 (AttributeVR) + T_CLOSE_BRACKET shift, and go to state 479 state 458 - AttributeVR -> T_OPEN_BRACKET VR '?' . T_CLOSE_BRACKET (rule 280) + AttributeVR -> T_OPEN_BRACKET VR T_CLOSE_BRACKET . (rule 279) - T_CLOSE_BRACKET shift, and go to state 479 + $default reduce using rule 279 (AttributeVR) state 459 - AttributeVR -> T_OPEN_BRACKET '[' VR . ']' T_CLOSE_BRACKET (rule 279) - AttributeVR -> T_OPEN_BRACKET '[' VR . ']' '?' T_CLOSE_BRACKET (rule 281) + AttributeVR -> T_OPEN_BRACKET VR '?' . T_CLOSE_BRACKET (rule 281) - ']' shift, and go to state 480 + T_CLOSE_BRACKET shift, and go to state 480 state 460 - SequenceVR -> '[' T_SQ ']' . (rule 260) + AttributeVR -> T_OPEN_BRACKET '[' VR . ']' T_CLOSE_BRACKET (rule 280) + AttributeVR -> T_OPEN_BRACKET '[' VR . ']' '?' T_CLOSE_BRACKET (rule 282) - $default reduce using rule 260 (SequenceVR) + ']' shift, and go to state 481 state 461 - AttributeVR -> '[' VR ']' . (rule 277) + SequenceVR -> '[' T_SQ ']' . (rule 261) - $default reduce using rule 277 (AttributeVR) + $default reduce using rule 261 (SequenceVR) state 462 - ItemByReference -> STRING . (rule 265) + AttributeVR -> '[' VR ']' . (rule 278) - $default reduce using rule 265 (ItemByReference) + $default reduce using rule 278 (AttributeVR) state 463 - ItemAttribute -> '>' . Attribute (rule 272) + ItemByReference -> STRING . (rule 266) - T_OPEN_BRACKET shift, and go to state 268 - - Attribute go to state 481 + $default reduce using rule 266 (ItemByReference) state 464 - SequenceValue -> SequenceVR ',' ItemList . (rule 258) + ItemAttribute -> '>' . Attribute (rule 273) - $default reduce using rule 258 (SequenceValue) + T_OPEN_BRACKET shift, and go to state 269 + Attribute go to state 482 -state 465 - ItemList -> ItemByReferenceList . (rule 261) - ItemByReferenceList -> ItemByReferenceList . ',' ItemByReference (rule 264) +state 465 - ',' shift, and go to state 482 + SequenceValue -> SequenceVR ',' ItemList . (rule 259) - $default reduce using rule 261 (ItemList) + $default reduce using rule 259 (SequenceValue) state 466 - ItemByReferenceList -> ItemByReference . (rule 263) + ItemList -> ItemByReferenceList . (rule 262) + ItemByReferenceList -> ItemByReferenceList . ',' ItemByReference (rule 265) + + ',' shift, and go to state 483 - $default reduce using rule 263 (ItemByReferenceList) + $default reduce using rule 262 (ItemList) state 467 - ItemList -> ItemByValueList . (rule 262) - ItemByValueList -> ItemByValueList . ',' ItemByValue (rule 267) - - ',' shift, and go to state 483 + ItemByReferenceList -> ItemByReference . (rule 264) - $default reduce using rule 262 (ItemList) + $default reduce using rule 264 (ItemByReferenceList) state 468 - ItemByValueList -> ItemByValue . (rule 266) + ItemList -> ItemByValueList . (rule 263) + ItemByValueList -> ItemByValueList . ',' ItemByValue (rule 268) - $default reduce using rule 266 (ItemByValueList) + ',' shift, and go to state 484 + + $default reduce using rule 263 (ItemList) state 469 - ItemByValue -> ItemAttributeList . (rule 269) - ItemAttributeList -> ItemAttributeList . ItemAttribute (rule 271) + ItemByValueList -> ItemByValue . (rule 267) - '>' shift, and go to state 463 + $default reduce using rule 267 (ItemByValueList) - $default reduce using rule 269 (ItemByValue) - ItemAttribute go to state 484 +state 470 + ItemByValue -> ItemAttributeList . (rule 270) + ItemAttributeList -> ItemAttributeList . ItemAttribute (rule 272) -state 470 + '>' shift, and go to state 464 - ItemAttributeList -> ItemAttribute . (rule 270) + $default reduce using rule 270 (ItemByValue) - $default reduce using rule 270 (ItemAttributeList) + ItemAttribute go to state 485 state 471 - VMList -> VMList ',' . Value (rule 285) - - T_AUTOSET shift, and go to state 440 - HEXADECIMAL shift, and go to state 441 - INTEGER shift, and go to state 442 - STRING shift, and go to state 443 + ItemAttributeList -> ItemAttribute . (rule 271) - Value go to state 485 + $default reduce using rule 271 (ItemAttributeList) state 472 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER . ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + VMList -> VMList ',' . Value (rule 286) + + T_AUTOSET shift, and go to state 441 + HEXADECIMAL shift, and go to state 442 + INTEGER shift, and go to state 443 + STRING shift, and go to state 444 - ',' shift, and go to state 486 + Value go to state 486 state 473 - RqTransferSyntaxList -> RqTransferSyntaxList ',' TransferSyntax . (rule 165) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER . ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) - $default reduce using rule 165 (RqTransferSyntaxList) + ',' shift, and go to state 487 state 474 - ApplicationInfoList -> ApplicationInfoList ',' ApplicationInfoByte . (rule 171) + RqTransferSyntaxList -> RqTransferSyntaxList ',' TransferSyntax . (rule 166) - $default reduce using rule 171 (ApplicationInfoList) + $default reduce using rule 166 (RqTransferSyntaxList) state 475 - ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' INTEGER . T_CLOSE_BRACKET (rule 175) + ApplicationInfoList -> ApplicationInfoList ',' ApplicationInfoByte . (rule 172) - T_CLOSE_BRACKET shift, and go to state 487 + $default reduce using rule 172 (ApplicationInfoList) state 476 - VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING . MoreAcPresentationContext T_CLOSE_BRACKET (rule 202) + ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' INTEGER . T_CLOSE_BRACKET (rule 176) - ',' shift, and go to state 488 + T_CLOSE_BRACKET shift, and go to state 488 - $default reduce using rule 203 (MoreAcPresentationContext) - MoreAcPresentationContext go to state 489 +state 477 + VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING . MoreAcPresentationContext T_CLOSE_BRACKET (rule 203) -state 477 + ',' shift, and go to state 489 - AcTransferSyntax -> ',' TransferSyntax . (rule 201) + $default reduce using rule 204 (MoreAcPresentationContext) - $default reduce using rule 201 (AcTransferSyntax) + MoreAcPresentationContext go to state 490 state 478 - AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET . (rule 199) + AcTransferSyntax -> ',' TransferSyntax . (rule 202) - $default reduce using rule 199 (AcPresCtx) + $default reduce using rule 202 (AcTransferSyntax) state 479 - AttributeVR -> T_OPEN_BRACKET VR '?' T_CLOSE_BRACKET . (rule 280) + AcPresCtx -> T_OPEN_BRACKET STRING ',' INTEGER AcTransferSyntax T_CLOSE_BRACKET . (rule 200) - $default reduce using rule 280 (AttributeVR) + $default reduce using rule 200 (AcPresCtx) state 480 - AttributeVR -> T_OPEN_BRACKET '[' VR ']' . T_CLOSE_BRACKET (rule 279) - AttributeVR -> T_OPEN_BRACKET '[' VR ']' . '?' T_CLOSE_BRACKET (rule 281) + AttributeVR -> T_OPEN_BRACKET VR '?' T_CLOSE_BRACKET . (rule 281) - T_CLOSE_BRACKET shift, and go to state 490 - '?' shift, and go to state 491 + $default reduce using rule 281 (AttributeVR) state 481 - ItemAttribute -> '>' Attribute . (rule 272) + AttributeVR -> T_OPEN_BRACKET '[' VR ']' . T_CLOSE_BRACKET (rule 280) + AttributeVR -> T_OPEN_BRACKET '[' VR ']' . '?' T_CLOSE_BRACKET (rule 282) - $default reduce using rule 272 (ItemAttribute) + T_CLOSE_BRACKET shift, and go to state 491 + '?' shift, and go to state 492 state 482 - ItemByReferenceList -> ItemByReferenceList ',' . ItemByReference (rule 264) - - STRING shift, and go to state 462 + ItemAttribute -> '>' Attribute . (rule 273) - ItemByReference go to state 492 + $default reduce using rule 273 (ItemAttribute) state 483 - ItemByValueList -> ItemByValueList ',' . ItemByValue (rule 267) + ItemByReferenceList -> ItemByReferenceList ',' . ItemByReference (rule 265) - '>' shift, and go to state 463 + STRING shift, and go to state 463 - $default reduce using rule 268 (ItemByValue) - - ItemByValue go to state 493 - ItemAttributeList go to state 469 - ItemAttribute go to state 470 + ItemByReference go to state 493 state 484 - ItemAttributeList -> ItemAttributeList ItemAttribute . (rule 271) + ItemByValueList -> ItemByValueList ',' . ItemByValue (rule 268) - $default reduce using rule 271 (ItemAttributeList) + '>' shift, and go to state 464 + + $default reduce using rule 269 (ItemByValue) + + ItemByValue go to state 494 + ItemAttributeList go to state 470 + ItemAttribute go to state 471 state 485 - VMList -> VMList ',' Value . (rule 285) + ItemAttributeList -> ItemAttributeList ItemAttribute . (rule 272) - $default reduce using rule 285 (VMList) + $default reduce using rule 272 (ItemAttributeList) state 486 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' . INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + VMList -> VMList ',' Value . (rule 286) - INTEGER shift, and go to state 494 + $default reduce using rule 286 (VMList) state 487 - ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' INTEGER T_CLOSE_BRACKET . (rule 175) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' . INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) - $default reduce using rule 175 (ScpScuRole) + INTEGER shift, and go to state 495 state 488 - MoreAcPresentationContext -> ',' . INTEGER ',' INTEGER ',' TransferSyntax (rule 204) + ScpScuRole -> T_OPEN_BRACKET STRING ',' INTEGER ',' INTEGER T_CLOSE_BRACKET . (rule 176) - INTEGER shift, and go to state 495 + $default reduce using rule 176 (ScpScuRole) state 489 - VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext . T_CLOSE_BRACKET (rule 202) + MoreAcPresentationContext -> ',' . INTEGER ',' INTEGER ',' TransferSyntax (rule 205) - T_CLOSE_BRACKET shift, and go to state 496 + INTEGER shift, and go to state 496 state 490 - AttributeVR -> T_OPEN_BRACKET '[' VR ']' T_CLOSE_BRACKET . (rule 279) + VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext . T_CLOSE_BRACKET (rule 203) - $default reduce using rule 279 (AttributeVR) + T_CLOSE_BRACKET shift, and go to state 497 state 491 - AttributeVR -> T_OPEN_BRACKET '[' VR ']' '?' . T_CLOSE_BRACKET (rule 281) + AttributeVR -> T_OPEN_BRACKET '[' VR ']' T_CLOSE_BRACKET . (rule 280) - T_CLOSE_BRACKET shift, and go to state 497 + $default reduce using rule 280 (AttributeVR) state 492 - ItemByReferenceList -> ItemByReferenceList ',' ItemByReference . (rule 264) + AttributeVR -> T_OPEN_BRACKET '[' VR ']' '?' . T_CLOSE_BRACKET (rule 282) - $default reduce using rule 264 (ItemByReferenceList) + T_CLOSE_BRACKET shift, and go to state 498 state 493 - ItemByValueList -> ItemByValueList ',' ItemByValue . (rule 267) + ItemByReferenceList -> ItemByReferenceList ',' ItemByReference . (rule 265) - $default reduce using rule 267 (ItemByValueList) + $default reduce using rule 265 (ItemByReferenceList) state 494 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER . ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) + ItemByValueList -> ItemByValueList ',' ItemByValue . (rule 268) - ',' shift, and go to state 498 + $default reduce using rule 268 (ItemByValueList) state 495 - MoreAcPresentationContext -> ',' INTEGER . ',' INTEGER ',' TransferSyntax (rule 204) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER . ',' RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) ',' shift, and go to state 499 @@ -5657,86 +5661,88 @@ state 495 state 496 - VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET . (rule 202) + MoreAcPresentationContext -> ',' INTEGER . ',' INTEGER ',' TransferSyntax (rule 205) - $default reduce using rule 202 (VtsAcPresCtx) + ',' shift, and go to state 500 state 497 - AttributeVR -> T_OPEN_BRACKET '[' VR ']' '?' T_CLOSE_BRACKET . (rule 281) + VtsAcPresCtx -> T_OPEN_BRACKET INTEGER ',' INTEGER ',' STRING MoreAcPresentationContext T_CLOSE_BRACKET . (rule 203) - $default reduce using rule 281 (AttributeVR) + $default reduce using rule 203 (VtsAcPresCtx) state 498 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' . RqTransferSyntaxList T_CLOSE_BRACKET (rule 163) - - STRING shift, and go to state 364 + AttributeVR -> T_OPEN_BRACKET '[' VR ']' '?' T_CLOSE_BRACKET . (rule 282) - RqTransferSyntaxList go to state 500 - TransferSyntax go to state 426 + $default reduce using rule 282 (AttributeVR) state 499 - MoreAcPresentationContext -> ',' INTEGER ',' . INTEGER ',' TransferSyntax (rule 204) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' . RqTransferSyntaxList T_CLOSE_BRACKET (rule 164) + + STRING shift, and go to state 365 - INTEGER shift, and go to state 501 + RqTransferSyntaxList go to state 501 + TransferSyntax go to state 427 state 500 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList . T_CLOSE_BRACKET (rule 163) - RqTransferSyntaxList -> RqTransferSyntaxList . ',' TransferSyntax (rule 165) + MoreAcPresentationContext -> ',' INTEGER ',' . INTEGER ',' TransferSyntax (rule 205) - T_CLOSE_BRACKET shift, and go to state 502 - ',' shift, and go to state 450 + INTEGER shift, and go to state 502 state 501 - MoreAcPresentationContext -> ',' INTEGER ',' INTEGER . ',' TransferSyntax (rule 204) + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList . T_CLOSE_BRACKET (rule 164) + RqTransferSyntaxList -> RqTransferSyntaxList . ',' TransferSyntax (rule 166) - ',' shift, and go to state 503 + T_CLOSE_BRACKET shift, and go to state 503 + ',' shift, and go to state 451 state 502 - VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET . (rule 163) + MoreAcPresentationContext -> ',' INTEGER ',' INTEGER . ',' TransferSyntax (rule 205) - $default reduce using rule 163 (VtsRqPresCtx) + ',' shift, and go to state 504 state 503 - MoreAcPresentationContext -> ',' INTEGER ',' INTEGER ',' . TransferSyntax (rule 204) - - STRING shift, and go to state 364 + VtsRqPresCtx -> T_OPEN_BRACKET INTEGER ',' STRING ',' INTEGER ',' INTEGER ',' RqTransferSyntaxList T_CLOSE_BRACKET . (rule 164) - TransferSyntax go to state 504 + $default reduce using rule 164 (VtsRqPresCtx) state 504 - MoreAcPresentationContext -> ',' INTEGER ',' INTEGER ',' TransferSyntax . (rule 204) + MoreAcPresentationContext -> ',' INTEGER ',' INTEGER ',' . TransferSyntax (rule 205) - $default reduce using rule 204 (MoreAcPresentationContext) + STRING shift, and go to state 365 + + TransferSyntax go to state 505 state 505 - $ go to state 506 + MoreAcPresentationContext -> ',' INTEGER ',' INTEGER ',' TransferSyntax . (rule 205) + + $default reduce using rule 205 (MoreAcPresentationContext) @@ -5748,4 +5754,10 @@ state 506 state 507 + $ go to state 508 + + + +state 508 + $default accept diff --git a/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.cpp b/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.cpp index ef7b802..d84c05e 100644 --- a/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.cpp +++ b/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.cpp @@ -1,6 +1,6 @@ // ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright � 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -35,5 +35,13 @@ namespace Wrappers { // Translation from unmanaged -> managed CLR m_pConfirmInteractionTarget->ConfirmInteraction(); - } + } + + void ConfirmInteractionAdapter::ConfirmInteraction(const char *checkText) + { + String __gc *managedText = (checkText != NULL) ? new String(checkText) : S""; + + // Translation from unmanaged -> managed CLR + m_pConfirmInteractionTarget->ConfirmInteraction(managedText); + } } \ No newline at end of file diff --git a/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.h b/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.h index 4532209..00bd2f1 100644 --- a/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.h +++ b/DVTk_Library/Source/Assemblies/DVTk Managed Code Adapter/ConfirmInteractionAdapter.h @@ -1,6 +1,6 @@ // ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright � 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -27,6 +27,7 @@ namespace Wrappers public __gc __interface IConfirmInteractionTarget { void ConfirmInteraction(); + void ConfirmInteraction(String __gc* checkText); }; __nogc class ConfirmInteractionAdapter @@ -39,6 +40,7 @@ namespace Wrappers ~ConfirmInteractionAdapter(void); void ConfirmInteraction(); + void ConfirmInteraction(const char *checkText); private: gcroot m_pConfirmInteractionTarget; diff --git a/DVTk_Library/Source/Assemblies/DVTk/Sessions/ScriptSession.cs b/DVTk_Library/Source/Assemblies/DVTk/Sessions/ScriptSession.cs index cfc6333..88de045 100644 --- a/DVTk_Library/Source/Assemblies/DVTk/Sessions/ScriptSession.cs +++ b/DVTk_Library/Source/Assemblies/DVTk/Sessions/ScriptSession.cs @@ -1,6 +1,6 @@ // ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright � 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -473,7 +473,7 @@ public interface IScriptExecution /// - e.g., DICOMScript that makes an Association for CT Image Storage. /// It is possible to repeat the DICOMScript execution a number of times using the

/// DO n dicomscript

- /// instruction where ‘n’ is the number of times that dicomscript is to be executed. + /// instruction where �n� is the number of times that dicomscript is to be executed. ///

/// /// Script File of type DICOMScript (.DS) / DICOMSuperScript (.DSS) @@ -510,7 +510,7 @@ public interface IScriptExecution System.Boolean TerminateConnection(); /// /// Reset the state of the DULP Finite State Machine - /// (to allow new Associations – Presentation Context ID is reset to 1). + /// (to allow new Associations � Presentation Context ID is reset to 1). /// void ResetAssociation(); /// @@ -682,8 +682,8 @@ public SendReturnCode Send(DicomMessage dicomMessage) /// /// - /// With the new UPS SOP classes (Unified Procedure Step – Push SOP Class, Unified Procedure Step – - /// Watch SOP Class, Unified Procedure Step – Pull SOP Class, Unified Procedure Step – Event SOP Class), + /// With the new UPS SOP classes (Unified Procedure Step � Push SOP Class, Unified Procedure Step � + /// Watch SOP Class, Unified Procedure Step � Pull SOP Class, Unified Procedure Step � Event SOP Class), /// fully specified in frozen supplement 96, it is now possible to send a DICOM message with an affected /// or requested SOP Class UID attribute that is different from the abstract syntax UID in an accepted /// presentation context. @@ -1354,14 +1354,43 @@ static public void ConfirmInteractionAuto() /*delegated implementation*/ /// /// Stub callback implementation for . - /// Results in a windows messagebox towards the user. + /// Results in a windows messagebox towards the user. /// /// - /// The user needs to click the messagebox to continue the application. + /// The user can confirm to continue or reject to fail the current step. /// static public void ConfirmInteractionForms() { - System.Windows.Forms.MessageBox.Show("Click to continue."); + ConfirmInteractionForms("Continue this script step?"); + } + + /// + /// Stub callback implementation for . + /// Results in a windows messagebox towards the user with a custom tester check instruction. + /// + /// Instruction describing what the tester should verify. + static public void ConfirmInteractionForms(string testerCheckInstruction) + { + if (string.IsNullOrEmpty(testerCheckInstruction)) + { + testerCheckInstruction = "Continue this script step?"; + } + + System.Windows.Forms.DialogResult result = System.Windows.Forms.MessageBox.Show( + testerCheckInstruction, + "Confirm Step", + System.Windows.Forms.MessageBoxButtons.YesNo, + System.Windows.Forms.MessageBoxIcon.Question, + System.Windows.Forms.MessageBoxDefaultButton.Button1); + + if (result == System.Windows.Forms.DialogResult.No) + { + throw new System.ApplicationException( + string.Format( + "Step rejected by tester input. Check: {0}", + testerCheckInstruction)); + } + return; } /*delegated implementation*/ @@ -1442,8 +1471,29 @@ internal Confirmer(ScriptSession scriptSession) #region Wrappers.IConfirmInteractionTarget public void ConfirmInteraction() { - // Call the delegate - this.m_parentSession.ConfirmInteraction(); + try + { + // Call the delegate. + this.m_parentSession.ConfirmInteraction(); + } + catch (System.Exception ex) + { + // Mark the step as failed, but keep the application running. + this.m_parentSession.WriteValidationError(ex.Message); + } + } + + public void ConfirmInteraction(string checkText) + { + try + { + ScriptSession.ConfirmInteractionForms(checkText); + } + catch (System.Exception ex) + { + // Mark the step as failed, but keep the application running. + this.m_parentSession.WriteValidationError(ex.Message); + } } #endregion } diff --git a/DVTk_Library/Source/Libraries/Log/base_confirmer.h b/DVTk_Library/Source/Libraries/Log/base_confirmer.h index 52650e0..7207a94 100644 --- a/DVTk_Library/Source/Libraries/Log/base_confirmer.h +++ b/DVTk_Library/Source/Libraries/Log/base_confirmer.h @@ -1,6 +1,6 @@ // ------------------------------------------------------ // DVTk - The Healthcare Validation Toolkit (www.dvtk.org) -// Copyright © 2009 DVTk +// Copyright � 2009 DVTk // ------------------------------------------------------ // This file is part of DVTk. // @@ -42,6 +42,7 @@ class BASE_CONFIRMER { public: virtual void ConfirmInteraction() = 0; + virtual void ConfirmInteraction(const char *checkText) = 0; public: ~BASE_CONFIRMER(); }; diff --git a/DVTk_Library/Source/Libraries/Scripting/script1_parser.cpp b/DVTk_Library/Source/Libraries/Scripting/script1_parser.cpp index febca43..5cb7514 100644 --- a/DVTk_Library/Source/Libraries/Scripting/script1_parser.cpp +++ b/DVTk_Library/Source/Libraries/Scripting/script1_parser.cpp @@ -91,7 +91,7 @@ #line 1 "script_parser.y" // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. //***************************************************************************** @@ -1572,7 +1572,28 @@ case 41: ; break;} case 42: -#line 434 "script_parser.y" +#line 435 "script_parser.y" +{ + if (!script1ParseOnly) + { + LOG_CLASS *logger_ptr = script1Session_ptr->getLogger(); + BASE_CONFIRMER *confirmer_ptr = script1Session_ptr->getConfirmer(); + + // ask user to confirm action through interaction with logger and confirmer + if ((logger_ptr) && + (confirmer_ptr)) + { + logger_ptr->text(LOG_SCRIPT, 2, "CONFIRM \"%s\"", script1vsp[0].string_ptr); + confirmer_ptr->ConfirmInteraction(script1vsp[0].string_ptr); + } + } + + // free malloced string buffer + free(script1vsp[0].string_ptr); + ; + break;} +case 43: +#line 460 "script_parser.y" { if (!script1ParseOnly) { @@ -1586,8 +1607,8 @@ case 42: } ; break;} -case 44: -#line 452 "script_parser.y" +case 45: +#line 478 "script_parser.y" { if (!script1ParseOnly) { diff --git a/DVTk_Library/Source/Libraries/Scripting/script2_parser.cpp b/DVTk_Library/Source/Libraries/Scripting/script2_parser.cpp index 55e78f5..2d651f9 100644 --- a/DVTk_Library/Source/Libraries/Scripting/script2_parser.cpp +++ b/DVTk_Library/Source/Libraries/Scripting/script2_parser.cpp @@ -91,7 +91,7 @@ #line 1 "script_parser.y" // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. //***************************************************************************** @@ -1572,7 +1572,28 @@ case 41: ; break;} case 42: -#line 434 "script_parser.y" +#line 435 "script_parser.y" +{ + if (!script2ParseOnly) + { + LOG_CLASS *logger_ptr = script2Session_ptr->getLogger(); + BASE_CONFIRMER *confirmer_ptr = script2Session_ptr->getConfirmer(); + + // ask user to confirm action through interaction with logger and confirmer + if ((logger_ptr) && + (confirmer_ptr)) + { + logger_ptr->text(LOG_SCRIPT, 2, "CONFIRM \"%s\"", script2vsp[0].string_ptr); + confirmer_ptr->ConfirmInteraction(script2vsp[0].string_ptr); + } + } + + // free malloced string buffer + free(script2vsp[0].string_ptr); + ; + break;} +case 43: +#line 460 "script_parser.y" { if (!script2ParseOnly) { @@ -1586,8 +1607,8 @@ case 42: } ; break;} -case 44: -#line 452 "script_parser.y" +case 45: +#line 478 "script_parser.y" { if (!script2ParseOnly) { diff --git a/DVTk_Library/Source/Libraries/Scripting/script3_parser.cpp b/DVTk_Library/Source/Libraries/Scripting/script3_parser.cpp index c4e5b66..bb7cffe 100644 --- a/DVTk_Library/Source/Libraries/Scripting/script3_parser.cpp +++ b/DVTk_Library/Source/Libraries/Scripting/script3_parser.cpp @@ -91,7 +91,7 @@ #line 1 "script_parser.y" // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. //***************************************************************************** @@ -1572,7 +1572,28 @@ case 41: ; break;} case 42: -#line 434 "script_parser.y" +#line 435 "script_parser.y" +{ + if (!script3ParseOnly) + { + LOG_CLASS *logger_ptr = script3Session_ptr->getLogger(); + BASE_CONFIRMER *confirmer_ptr = script3Session_ptr->getConfirmer(); + + // ask user to confirm action through interaction with logger and confirmer + if ((logger_ptr) && + (confirmer_ptr)) + { + logger_ptr->text(LOG_SCRIPT, 2, "CONFIRM \"%s\"", script3vsp[0].string_ptr); + confirmer_ptr->ConfirmInteraction(script3vsp[0].string_ptr); + } + } + + // free malloced string buffer + free(script3vsp[0].string_ptr); + ; + break;} +case 43: +#line 460 "script_parser.y" { if (!script3ParseOnly) { @@ -1586,8 +1607,8 @@ case 42: } ; break;} -case 44: -#line 452 "script_parser.y" +case 45: +#line 478 "script_parser.y" { if (!script3ParseOnly) { diff --git a/DVTk_Library/Source/Libraries/Scripting/script4_parser.cpp b/DVTk_Library/Source/Libraries/Scripting/script4_parser.cpp index ab84c0d..6b3ed06 100644 --- a/DVTk_Library/Source/Libraries/Scripting/script4_parser.cpp +++ b/DVTk_Library/Source/Libraries/Scripting/script4_parser.cpp @@ -91,7 +91,7 @@ #line 1 "script_parser.y" // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. //***************************************************************************** @@ -1572,7 +1572,28 @@ case 41: ; break;} case 42: -#line 434 "script_parser.y" +#line 435 "script_parser.y" +{ + if (!script4ParseOnly) + { + LOG_CLASS *logger_ptr = script4Session_ptr->getLogger(); + BASE_CONFIRMER *confirmer_ptr = script4Session_ptr->getConfirmer(); + + // ask user to confirm action through interaction with logger and confirmer + if ((logger_ptr) && + (confirmer_ptr)) + { + logger_ptr->text(LOG_SCRIPT, 2, "CONFIRM \"%s\"", script4vsp[0].string_ptr); + confirmer_ptr->ConfirmInteraction(script4vsp[0].string_ptr); + } + } + + // free malloced string buffer + free(script4vsp[0].string_ptr); + ; + break;} +case 43: +#line 460 "script_parser.y" { if (!script4ParseOnly) { @@ -1586,8 +1607,8 @@ case 42: } ; break;} -case 44: -#line 452 "script_parser.y" +case 45: +#line 478 "script_parser.y" { if (!script4ParseOnly) { diff --git a/DVTk_Library/Source/Libraries/Scripting/script_parser.cpp b/DVTk_Library/Source/Libraries/Scripting/script_parser.cpp index 84dc855..67f1ee1 100644 --- a/DVTk_Library/Source/Libraries/Scripting/script_parser.cpp +++ b/DVTk_Library/Source/Libraries/Scripting/script_parser.cpp @@ -91,7 +91,7 @@ #line 1 "script_parser.y" // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. //***************************************************************************** @@ -1572,7 +1572,28 @@ case 41: ; break;} case 42: -#line 434 "script_parser.y" +#line 435 "script_parser.y" +{ + if (!scriptParseOnly) + { + LOG_CLASS *logger_ptr = scriptSession_ptr->getLogger(); + BASE_CONFIRMER *confirmer_ptr = scriptSession_ptr->getConfirmer(); + + // ask user to confirm action through interaction with logger and confirmer + if ((logger_ptr) && + (confirmer_ptr)) + { + logger_ptr->text(LOG_SCRIPT, 2, "CONFIRM \"%s\"", scriptvsp[0].string_ptr); + confirmer_ptr->ConfirmInteraction(scriptvsp[0].string_ptr); + } + } + + // free malloced string buffer + free(scriptvsp[0].string_ptr); + ; + break;} +case 43: +#line 460 "script_parser.y" { if (!scriptParseOnly) { @@ -1586,8 +1607,8 @@ case 42: } ; break;} -case 44: -#line 452 "script_parser.y" +case 45: +#line 478 "script_parser.y" { if (!scriptParseOnly) { diff --git a/DVTk_Library/Source/Libraries/Scripting/script_parser.y b/DVTk_Library/Source/Libraries/Scripting/script_parser.y index 3dcf3b4..4c6d57d 100644 --- a/DVTk_Library/Source/Libraries/Scripting/script_parser.y +++ b/DVTk_Library/Source/Libraries/Scripting/script_parser.y @@ -1,6 +1,6 @@ %{ // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. //***************************************************************************** @@ -428,6 +428,25 @@ ConfirmCommand : T_CONFIRM } } } + | T_CONFIRM STRING + { + if (!scriptParseOnly) + { + LOG_CLASS *logger_ptr = scriptSession_ptr->getLogger(); + BASE_CONFIRMER *confirmer_ptr = scriptSession_ptr->getConfirmer(); + + // ask user to confirm action through interaction with logger and confirmer + if ((logger_ptr) && + (confirmer_ptr)) + { + logger_ptr->text(LOG_SCRIPT, 2, "CONFIRM \"%s\"", $2); + confirmer_ptr->ConfirmInteraction($2); + } + } + + // free malloced string buffer + free($2); + } ; CopyCommand : T_COPY ObjectRef1 TagRef1 ObjectRef2 TagRef2 From 1170fe3790cfed1714a81034d40380ce487a3b10 Mon Sep 17 00:00:00 2001 From: Bennert de Wijs Date: Mon, 3 Aug 2026 20:14:19 +0200 Subject: [PATCH 2/2] feat(definition-parser): allow unquoted INFO(...) as STRING condition text --- .../Libraries/Definition/definition_lex.l | 13 +- .../Libraries/Definition/definition_lex.cpp | 576 +++++++++--------- .../Libraries/Definition/definition_lex.l | 13 +- 3 files changed, 324 insertions(+), 278 deletions(-) diff --git a/DVTk_Library/Libraries/Definition/definition_lex.l b/DVTk_Library/Libraries/Definition/definition_lex.l index f02c307..6c6320c 100644 --- a/DVTk_Library/Libraries/Definition/definition_lex.l +++ b/DVTk_Library/Libraries/Definition/definition_lex.l @@ -2,7 +2,7 @@ %{ // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. #ifdef _WINDOWS @@ -226,6 +226,17 @@ VALUE { RETURN(T_VALUE);} RETURN(STRING); } +INFO\([^\n]*\) { + if (yyleng >= sizeof(yylval.string)) + { + yywarn("STRING too long!!! truncated") ; + yyleng = sizeof(yylval.string); + } + memcpy(yylval.string, yytext, yyleng); + yylval.string[yyleng] = '\0'; + RETURN(STRING); + } + 0(x|X)[0-9a-f]+ | 0(x|X)[0-9A-F]+ { diff --git a/DVTk_Library/Source/Libraries/Definition/definition_lex.cpp b/DVTk_Library/Source/Libraries/Definition/definition_lex.cpp index e8040ba..0598491 100644 --- a/DVTk_Library/Source/Libraries/Definition/definition_lex.cpp +++ b/DVTk_Library/Source/Libraries/Definition/definition_lex.cpp @@ -293,35 +293,35 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); yy_flex_strncpy( definitiontext, definitiontext_ptr, definitionleng + 1 ); \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 108 -#define YY_END_OF_BUFFER 109 -static yyconst short int yy_acclist[198] = +#define YY_NUM_RULES 109 +#define YY_END_OF_BUFFER 110 +static yyconst short int yy_acclist[199] = { 0, - 109, 107, 108, 5, 107, 108, 5, 7, 108, 107, - 108, 4, 107, 108, 107, 108, 104, 107, 108, 104, - 107, 108, 104, 107, 108, 104, 107, 108, 104, 107, - 108, 86, 107, 108, 85, 107, 108, 87, 107, 108, - 107, 108, 13, 107, 108, 9, 107, 108, 10, 107, - 108, 107, 108, 107, 108, 107, 108, 14, 107, 108, - 107, 108, 107, 108, 107, 108, 107, 108, 107, 108, - 15, 107, 108, 107, 108, 107, 108, 107, 108, 1, - 107, 108, 5, 107, 108, 3, 5, 6, 7, 108, - 4, 107, 108, 5, 7, 5, 7, 106, 4, 103, - - 104, 16, 17, 18, 19, 88, 89, 20, 21, 22, + 110, 108, 109, 5, 108, 109, 5, 7, 109, 108, + 109, 4, 108, 109, 108, 109, 105, 108, 109, 105, + 108, 109, 105, 108, 109, 105, 108, 109, 105, 108, + 109, 86, 108, 109, 85, 108, 109, 87, 108, 109, + 108, 109, 13, 108, 109, 9, 108, 109, 10, 108, + 109, 108, 109, 108, 109, 108, 109, 14, 108, 109, + 108, 109, 108, 109, 108, 109, 108, 109, 108, 109, + 15, 108, 109, 108, 109, 108, 109, 108, 109, 1, + 108, 109, 5, 108, 109, 3, 5, 6, 7, 109, + 4, 108, 109, 5, 7, 5, 7, 107, 4, 104, + + 105, 16, 17, 18, 19, 88, 89, 20, 21, 22, 23, 24, 11, 25, 26, 12, 27, 28, 29, 30, 31, 32, 37, 33, 35, 93, 36, 34, 38, 39, 40, 41, 42, 43, 44, 51, 45, 46, 47, 50, - 48, 49, 8, 5, 3, 5, 6, 4, 2, 105, - 101, 102, 102, 101, 92, 94, 100, 81, 97, 91, - 90, 96, 98, 83, 99, 75, 80, 77, 95, 56, - 71, 73, 79, 52, 54, 57, 58, 76, 72, 74, - 53, 55, 59, 60, 62, 61, 82, 63, 65, 67, - 84, 78, 64, 66, 68, 69, 70 + 48, 49, 8, 5, 3, 5, 6, 4, 2, 106, + 102, 103, 103, 102, 92, 94, 100, 81, 97, 91, + 90, 96, 98, 83, 99, 75, 101, 80, 77, 95, + 56, 71, 73, 79, 52, 54, 57, 58, 76, 72, + 74, 53, 55, 59, 60, 62, 61, 82, 63, 65, + 67, 84, 78, 64, 66, 68, 69, 70 } ; -static yyconst short int yy_accept[323] = +static yyconst short int yy_accept[328] = { 0, 1, 1, 1, 2, 4, 7, 10, 12, 15, 17, 20, 23, 26, 29, 32, 35, 38, 41, 43, 46, @@ -338,27 +338,27 @@ static yyconst short int yy_accept[323] = 143, 144, 145, 148, 148, 149, 150, 150, 151, 151, 153, 154, 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 160, - 160, 161, 162, 162, 162, 162, 162, 162, 162, 162, - 163, 163, 164, 164, 165, 165, 165, 165, 165, 165, - - 165, 165, 165, 165, 165, 165, 166, 166, 166, 166, - 166, 166, 166, 167, 167, 167, 167, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 170, 170, 170, 170, 170, 171, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 171, 172, - 172, 173, 173, 174, 174, 175, 175, 176, 176, 177, - 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, - 179, 180, 181, 181, 182, 183, 184, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 186, 187, 188, 188, - - 188, 189, 189, 190, 190, 191, 191, 191, 192, 193, - 194, 195, 196, 196, 196, 196, 196, 196, 197, 197, - 198, 198 + 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 160, 160, 161, 162, 162, 162, 162, 162, 162, + 162, 162, 163, 163, 164, 164, 164, 165, 165, 165, + + 165, 165, 165, 165, 165, 165, 165, 165, 165, 166, + 166, 166, 166, 166, 166, 166, 167, 167, 167, 167, + 168, 168, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 171, 171, 171, + 171, 171, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 173, 173, 174, 174, 175, 175, + 176, 176, 177, 177, 178, 179, 179, 179, 180, 180, + 180, 180, 180, 180, 180, 180, 181, 182, 182, 183, + 184, 185, 186, 186, 186, 186, 186, 186, 186, 186, + + 186, 187, 188, 189, 189, 189, 190, 190, 191, 191, + 192, 192, 192, 193, 194, 195, 196, 197, 197, 197, + 197, 197, 197, 198, 198, 199, 199 } ; static yyconst int yy_ec[256] = @@ -366,238 +366,248 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 5, 6, 1, 1, 1, 1, 1, - 1, 1, 7, 1, 8, 1, 1, 9, 10, 11, - 12, 13, 13, 13, 13, 13, 13, 14, 1, 15, - 16, 17, 1, 1, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 1, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 1, - 1, 42, 1, 1, 1, 1, 43, 43, 43, 43, - - 43, 43, 1, 1, 1, 1, 1, 1, 1, 44, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 45, - 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46 + 1, 2, 1, 5, 6, 1, 1, 1, 1, 7, + 8, 1, 9, 1, 10, 1, 1, 11, 12, 13, + 14, 15, 15, 15, 15, 15, 15, 16, 1, 17, + 18, 19, 1, 1, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 1, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 1, + 1, 44, 1, 1, 1, 1, 45, 45, 45, 45, + + 45, 45, 1, 1, 1, 1, 1, 1, 1, 46, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 47, + 1, 1, 1, 1, 1, 1, 1, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48 } ; -static yyconst int yy_meta[47] = +static yyconst int yy_meta[49] = { 0, - 1, 1, 2, 1, 1, 1, 1, 1, 3, 3, - 3, 3, 3, 4, 1, 1, 1, 5, 5, 6, - 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, - 1, 1, 1, 1, 7, 1 + 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 4, 1, 1, 1, 5, + 5, 6, 5, 5, 5, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, + 1, 8, 1, 1, 1, 1, 8, 1 } ; -static yyconst short int yy_base[331] = +static yyconst short int yy_base[337] = { 0, - 0, 45, 451, 452, 50, 53, 44, 0, 49, 36, - 49, 50, 45, 78, 434, 452, 433, 63, 59, 78, - 43, 56, 67, 44, 86, 70, 99, 75, 114, 78, - 136, 430, 93, 444, 452, 122, 127, 443, 132, 442, - 149, 77, 452, 63, 0, 148, 164, 169, 174, 452, - 452, 452, 452, 452, 452, 452, 423, 452, 452, 178, - 452, 452, 420, 452, 452, 452, 452, 410, 420, 412, - 452, 452, 419, 452, 416, 452, 452, 417, 400, 414, - 188, 398, 452, 452, 452, 452, 452, 452, 452, 452, - 411, 452, 452, 400, 452, 452, 452, 396, 452, 393, - - 452, 452, 452, 452, 452, 452, 452, 401, 394, 409, - 452, 212, 165, 423, 422, 452, 118, 452, 215, 0, - 0, 220, 452, 406, 403, 396, 399, 389, 383, 392, - 381, 395, 380, 386, 384, 378, 393, 373, 389, 374, - 385, 368, 383, 382, 452, 368, 382, 365, 378, 362, - 368, 370, 393, 452, 365, 369, 363, 356, 353, 359, - 359, 347, 365, 364, 348, 452, 353, 348, 354, 345, - 358, 351, 356, 341, 340, 353, 346, 351, 452, 350, - 452, 452, 351, 339, 348, 360, 345, 332, 343, 452, - 341, 452, 342, 452, 331, 339, 334, 341, 336, 327, - - 348, 347, 324, 335, 323, 452, 329, 342, 341, 314, - 339, 324, 452, 319, 322, 311, 452, 311, 305, 304, - 303, 304, 303, 300, 300, 452, 306, 299, 298, 108, - 297, 322, 299, 162, 308, 297, 304, 303, 316, 111, - 130, 452, 288, 314, 170, 186, 452, 289, 187, 286, - 297, 280, 274, 260, 279, 271, 264, 228, 452, 229, - 452, 228, 452, 224, 452, 225, 452, 224, 452, 452, - 223, 201, 452, 232, 233, 234, 217, 216, 215, 226, - 452, 452, 214, 452, 452, 452, 452, 214, 216, 209, - 176, 202, 205, 206, 172, 452, 452, 452, 168, 155, - - 452, 157, 452, 122, 452, 116, 109, 452, 452, 452, - 452, 452, 98, 80, 102, 61, 209, 452, 51, 452, - 452, 263, 270, 277, 282, 287, 293, 300, 307, 312 + 0, 47, 484, 485, 52, 55, 46, 0, 49, 36, + 54, 73, 55, 85, 465, 485, 464, 70, 69, 85, + 42, 90, 43, 78, 94, 93, 107, 85, 119, 88, + 103, 461, 114, 477, 485, 157, 162, 476, 165, 475, + 168, 107, 485, 139, 0, 162, 167, 172, 177, 485, + 485, 485, 485, 485, 485, 485, 454, 485, 485, 181, + 485, 485, 451, 485, 485, 485, 485, 441, 451, 443, + 485, 485, 128, 485, 448, 485, 485, 449, 432, 446, + 191, 430, 485, 485, 485, 485, 485, 485, 485, 485, + 443, 485, 485, 432, 485, 485, 485, 428, 485, 425, + + 485, 485, 485, 485, 485, 485, 485, 433, 426, 441, + 485, 217, 191, 457, 456, 485, 205, 485, 218, 0, + 0, 223, 485, 438, 435, 428, 431, 421, 415, 424, + 413, 427, 412, 418, 414, 415, 409, 424, 404, 420, + 405, 416, 399, 414, 413, 485, 399, 413, 396, 409, + 393, 399, 401, 426, 485, 396, 400, 394, 387, 384, + 390, 390, 378, 396, 395, 379, 410, 485, 383, 378, + 384, 375, 388, 381, 386, 371, 370, 383, 376, 381, + 485, 380, 485, 485, 381, 369, 378, 390, 375, 362, + 373, 485, 371, 485, 372, 386, 485, 360, 368, 363, + + 370, 365, 356, 377, 376, 353, 364, 352, 485, 358, + 371, 370, 343, 368, 353, 485, 348, 351, 366, 365, + 338, 485, 338, 332, 331, 330, 331, 330, 327, 327, + 485, 333, 326, 325, 189, 324, 349, 326, 127, 335, + 324, 331, 330, 343, 190, 204, 485, 315, 341, 205, + 208, 485, 316, 209, 313, 324, 309, 326, 315, 334, + 333, 332, 305, 485, 306, 485, 299, 485, 293, 485, + 267, 485, 263, 485, 485, 262, 212, 485, 271, 264, + 258, 231, 230, 229, 239, 485, 485, 227, 485, 485, + 485, 485, 227, 229, 223, 221, 213, 216, 217, 222, + + 485, 485, 485, 183, 172, 485, 170, 485, 162, 485, + 111, 103, 485, 485, 485, 485, 485, 93, 66, 83, + 56, 220, 485, 48, 485, 485, 268, 276, 284, 290, + 296, 303, 311, 319, 325, 331 } ; -static yyconst short int yy_def[331] = +static yyconst short int yy_def[337] = { 0, - 321, 1, 321, 321, 321, 322, 323, 324, 321, 325, - 326, 326, 12, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 322, 327, 321, 322, - 322, 323, 321, 328, 324, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 329, 327, 321, 328, 321, 321, 49, - 330, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 329, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 0, 321, 321, 321, 321, 321, 321, 321, 321, 321 + 326, 1, 326, 326, 326, 327, 328, 329, 326, 330, + 326, 326, 331, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 327, 332, 326, 327, + 327, 328, 326, 333, 329, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 334, 332, 326, 333, 326, 326, 49, + 335, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 334, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 336, 326, 326, 326, 326, + + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 336, 336, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 0, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326 } ; -static yyconst short int yy_nxt[499] = +static yyconst short int yy_nxt[534] = { 0, - 4, 5, 6, 5, 7, 8, 9, 9, 10, 11, - 12, 13, 14, 4, 15, 16, 17, 18, 4, 19, - 20, 21, 22, 4, 4, 23, 4, 24, 25, 26, - 27, 28, 4, 4, 29, 30, 31, 32, 33, 4, - 4, 34, 4, 4, 4, 35, 36, 37, 43, 48, - 38, 39, 39, 39, 41, 39, 41, 46, 46, 46, - 46, 46, 48, 48, 52, 118, 60, 43, 50, 51, - 67, 68, 69, 70, 76, 49, 71, 81, 53, 77, - 49, 43, 320, 72, 56, 44, 47, 47, 47, 47, - 47, 48, 57, 61, 317, 62, 73, 58, 59, 63, - - 82, 74, 75, 78, 90, 64, 99, 79, 91, 316, - 109, 100, 65, 66, 110, 315, 80, 83, 44, 84, - 321, 85, 43, 112, 113, 39, 86, 114, 41, 39, - 41, 314, 87, 39, 39, 39, 88, 89, 92, 313, - 247, 93, 248, 259, 94, 260, 95, 312, 96, 97, - 41, 39, 41, 311, 98, 101, 46, 46, 46, 46, - 46, 102, 261, 103, 262, 104, 39, 39, 39, 105, - 106, 107, 47, 47, 47, 47, 47, 119, 119, 119, - 119, 119, 120, 120, 120, 120, 120, 252, 310, 309, - 253, 121, 121, 121, 121, 121, 121, 124, 308, 125, - - 126, 127, 265, 307, 266, 139, 128, 140, 141, 142, - 300, 143, 129, 112, 113, 39, 122, 114, 267, 270, - 268, 271, 144, 119, 119, 119, 119, 119, 122, 122, - 122, 122, 122, 287, 301, 288, 302, 303, 305, 304, - 306, 318, 299, 319, 298, 297, 296, 295, 294, 293, - 292, 291, 290, 289, 286, 285, 284, 283, 154, 282, - 281, 280, 122, 40, 40, 40, 40, 40, 40, 40, - 42, 279, 42, 42, 42, 42, 42, 45, 278, 45, - 45, 45, 45, 45, 47, 47, 277, 276, 47, 47, - 47, 275, 47, 115, 115, 115, 115, 115, 115, 115, - - 117, 117, 117, 117, 117, 117, 117, 153, 153, 153, - 153, 153, 153, 153, 121, 274, 121, 121, 273, 272, - 269, 264, 263, 258, 257, 256, 255, 254, 251, 250, - 249, 246, 245, 244, 243, 242, 241, 240, 239, 238, - 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, - 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, - 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, - 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, - 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, - 187, 186, 185, 184, 183, 116, 182, 181, 180, 179, - - 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, - 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, - 158, 157, 156, 155, 116, 116, 152, 151, 150, 149, - 148, 147, 146, 145, 138, 137, 136, 135, 134, 133, - 132, 131, 130, 123, 321, 116, 111, 108, 55, 54, - 321, 3, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321 - + 4, 5, 6, 5, 7, 8, 4, 4, 9, 9, + 10, 11, 12, 13, 14, 4, 15, 16, 17, 18, + 4, 19, 20, 21, 22, 4, 4, 23, 4, 24, + 25, 26, 27, 28, 4, 4, 29, 30, 31, 32, + 33, 4, 4, 34, 4, 4, 4, 35, 36, 37, + 43, 48, 38, 39, 39, 39, 41, 39, 41, 46, + 46, 46, 46, 46, 47, 47, 47, 47, 47, 48, + 48, 67, 68, 69, 73, 50, 52, 49, 60, 74, + 75, 325, 49, 47, 47, 47, 47, 47, 48, 44, + 53, 322, 321, 56, 51, 47, 47, 47, 47, 47, + + 48, 57, 81, 320, 62, 61, 58, 59, 63, 70, + 76, 43, 71, 78, 64, 77, 90, 79, 99, 72, + 91, 65, 66, 100, 101, 82, 80, 83, 319, 84, + 102, 85, 103, 109, 104, 318, 86, 110, 105, 106, + 107, 118, 87, 43, 317, 92, 88, 89, 93, 134, + 44, 94, 135, 95, 257, 96, 97, 258, 112, 113, + 39, 98, 114, 41, 39, 41, 39, 39, 39, 41, + 39, 41, 46, 46, 46, 46, 46, 47, 47, 47, + 47, 47, 119, 119, 119, 119, 119, 120, 120, 120, + 120, 120, 39, 39, 39, 316, 121, 121, 121, 121, + + 121, 121, 124, 315, 125, 126, 127, 326, 314, 43, + 140, 128, 141, 142, 143, 313, 144, 129, 112, 113, + 39, 122, 114, 252, 264, 253, 265, 145, 119, 119, + 119, 119, 119, 122, 122, 122, 122, 122, 266, 270, + 267, 271, 272, 275, 273, 276, 292, 306, 293, 307, + 308, 310, 309, 311, 323, 312, 324, 305, 304, 303, + 302, 301, 300, 155, 299, 298, 297, 122, 40, 40, + 40, 40, 40, 40, 40, 40, 42, 296, 42, 42, + 42, 42, 42, 42, 45, 295, 45, 45, 45, 45, + 45, 45, 47, 47, 294, 291, 290, 47, 47, 47, + + 289, 47, 47, 115, 115, 115, 115, 115, 115, 115, + 115, 117, 117, 117, 117, 117, 117, 117, 117, 154, + 154, 154, 154, 154, 154, 154, 154, 121, 288, 121, + 121, 219, 287, 219, 219, 219, 219, 219, 219, 286, + 285, 284, 283, 282, 281, 280, 279, 278, 277, 274, + 269, 268, 263, 262, 261, 260, 259, 256, 255, 254, + 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, + 241, 240, 220, 220, 239, 238, 237, 236, 235, 234, + 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, + 223, 222, 221, 220, 218, 217, 216, 215, 214, 213, + + 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, + 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, + 192, 191, 190, 189, 188, 187, 186, 185, 116, 184, + 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, + 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, + 163, 162, 161, 160, 159, 158, 157, 156, 116, 116, + 153, 152, 151, 150, 149, 148, 147, 146, 139, 138, + 137, 136, 133, 132, 131, 130, 123, 326, 116, 111, + 108, 55, 54, 326, 3, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326 } ; -static yyconst short int yy_chk[499] = +static yyconst short int yy_chk[534] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 7, 10, - 2, 5, 5, 5, 6, 6, 6, 9, 9, 9, - 9, 9, 11, 12, 13, 44, 19, 44, 11, 12, - 21, 21, 21, 22, 24, 10, 22, 26, 13, 24, - 10, 42, 319, 22, 18, 7, 14, 14, 14, 14, - 14, 14, 18, 19, 316, 20, 23, 18, 18, 20, - - 26, 23, 23, 25, 28, 20, 30, 25, 28, 315, - 33, 30, 20, 20, 33, 314, 25, 27, 42, 27, - 117, 27, 117, 36, 36, 36, 27, 36, 37, 37, - 37, 313, 27, 39, 39, 39, 27, 27, 29, 307, - 230, 29, 230, 240, 29, 240, 29, 306, 29, 29, - 41, 41, 41, 304, 29, 31, 46, 46, 46, 46, - 46, 31, 241, 31, 241, 31, 113, 113, 113, 31, - 31, 31, 47, 47, 47, 47, 47, 48, 48, 48, - 48, 48, 49, 49, 49, 49, 49, 234, 302, 300, - 234, 49, 49, 49, 49, 49, 49, 60, 299, 60, - - 60, 60, 245, 295, 245, 81, 60, 81, 81, 81, - 291, 81, 60, 112, 112, 112, 49, 112, 246, 249, - 246, 249, 81, 119, 119, 119, 119, 119, 122, 122, - 122, 122, 122, 272, 292, 272, 292, 293, 294, 293, - 294, 317, 290, 317, 289, 288, 283, 280, 279, 278, - 277, 276, 275, 274, 271, 268, 266, 264, 119, 262, - 260, 258, 122, 322, 322, 322, 322, 322, 322, 322, - 323, 257, 323, 323, 323, 323, 323, 324, 256, 324, - 324, 324, 324, 324, 325, 325, 255, 254, 325, 326, - 326, 253, 326, 327, 327, 327, 327, 327, 327, 327, - - 328, 328, 328, 328, 328, 328, 328, 329, 329, 329, - 329, 329, 329, 329, 330, 252, 330, 330, 251, 250, - 248, 244, 243, 239, 238, 237, 236, 235, 233, 232, - 231, 229, 228, 227, 225, 224, 223, 222, 221, 220, - 219, 218, 216, 215, 214, 212, 211, 210, 209, 208, - 207, 205, 204, 203, 202, 201, 200, 199, 198, 197, - 196, 195, 193, 191, 189, 188, 187, 186, 185, 184, - 183, 180, 178, 177, 176, 175, 174, 173, 172, 171, - 170, 169, 168, 167, 165, 164, 163, 162, 161, 160, - 159, 158, 157, 156, 155, 153, 152, 151, 150, 149, - - 148, 147, 146, 144, 143, 142, 141, 140, 139, 138, - 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, - 127, 126, 125, 124, 115, 114, 110, 109, 108, 100, - 98, 94, 91, 82, 80, 79, 78, 75, 73, 70, - 69, 68, 63, 57, 40, 38, 34, 32, 17, 15, - 3, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 321 - + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 7, 10, 2, 5, 5, 5, 6, 6, 6, 9, + 9, 9, 9, 9, 11, 11, 11, 11, 11, 11, + 13, 21, 21, 21, 23, 11, 13, 10, 19, 23, + 23, 324, 10, 12, 12, 12, 12, 12, 12, 7, + 13, 321, 320, 18, 12, 14, 14, 14, 14, 14, + + 14, 18, 26, 319, 20, 19, 18, 18, 20, 22, + 24, 42, 22, 25, 20, 24, 28, 25, 30, 22, + 28, 20, 20, 30, 31, 26, 25, 27, 318, 27, + 31, 27, 31, 33, 31, 312, 27, 33, 31, 31, + 31, 44, 27, 44, 311, 29, 27, 27, 29, 73, + 42, 29, 73, 29, 239, 29, 29, 239, 36, 36, + 36, 29, 36, 37, 37, 37, 39, 39, 39, 41, + 41, 41, 46, 46, 46, 46, 46, 47, 47, 47, + 47, 47, 48, 48, 48, 48, 48, 49, 49, 49, + 49, 49, 113, 113, 113, 309, 49, 49, 49, 49, + + 49, 49, 60, 307, 60, 60, 60, 117, 305, 117, + 81, 60, 81, 81, 81, 304, 81, 60, 112, 112, + 112, 49, 112, 235, 245, 235, 245, 81, 119, 119, + 119, 119, 119, 122, 122, 122, 122, 122, 246, 250, + 246, 250, 251, 254, 251, 254, 277, 297, 277, 297, + 298, 299, 298, 299, 322, 300, 322, 296, 295, 294, + 293, 288, 285, 119, 284, 283, 282, 122, 327, 327, + 327, 327, 327, 327, 327, 327, 328, 281, 328, 328, + 328, 328, 328, 328, 329, 280, 329, 329, 329, 329, + 329, 329, 330, 330, 279, 276, 273, 330, 331, 331, + + 271, 331, 331, 332, 332, 332, 332, 332, 332, 332, + 332, 333, 333, 333, 333, 333, 333, 333, 333, 334, + 334, 334, 334, 334, 334, 334, 334, 335, 269, 335, + 335, 336, 267, 336, 336, 336, 336, 336, 336, 265, + 263, 262, 261, 260, 259, 258, 257, 256, 255, 253, + 249, 248, 244, 243, 242, 241, 240, 238, 237, 236, + 234, 233, 232, 230, 229, 228, 227, 226, 225, 224, + 223, 221, 220, 219, 218, 217, 215, 214, 213, 212, + 211, 210, 208, 207, 206, 205, 204, 203, 202, 201, + 200, 199, 198, 196, 195, 193, 191, 190, 189, 188, + + 187, 186, 185, 182, 180, 179, 178, 177, 176, 175, + 174, 173, 172, 171, 170, 169, 167, 166, 165, 164, + 163, 162, 161, 160, 159, 158, 157, 156, 154, 153, + 152, 151, 150, 149, 148, 147, 145, 144, 143, 142, + 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, + 131, 130, 129, 128, 127, 126, 125, 124, 115, 114, + 110, 109, 108, 100, 98, 94, 91, 82, 80, 79, + 78, 75, 70, 69, 68, 63, 57, 40, 38, 34, + 32, 17, 15, 3, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -624,7 +634,7 @@ char *definitiontext_ptr; #define INITIAL 0 #line 4 "definition_lex.l" // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. #ifdef _WINDOWS @@ -922,14 +932,14 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 322 ) + if ( yy_current_state >= 327 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_base[yy_current_state] != 452 ); + while ( yy_base[yy_current_state] != 485 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1480,28 +1490,42 @@ YY_RULE_SETUP } YY_BREAK case 101: -#line 229 "definition_lex.l" +YY_RULE_SETUP +#line 227 "definition_lex.l" +{ + if (definitionleng >= sizeof(definitionlval.string)) + { + yywarn("STRING too long!!! truncated") ; + definitionleng = sizeof(definitionlval.string); + } + memcpy(definitionlval.string, definitiontext, definitionleng); + definitionlval.string[definitionleng] = '\0'; + RETURN(STRING); + } + YY_BREAK case 102: +#line 240 "definition_lex.l" +case 103: YY_RULE_SETUP -#line 229 "definition_lex.l" +#line 240 "definition_lex.l" { definitionlval.hex = strtoul(definitiontext, &End_ptr, 16); RETURN(HEX); } YY_BREAK -case 103: -#line 234 "definition_lex.l" case 104: +#line 245 "definition_lex.l" +case 105: YY_RULE_SETUP -#line 234 "definition_lex.l" +#line 245 "definition_lex.l" { definitionlval.integer = atoi(definitiontext); RETURN(INTEGER); } YY_BREAK -case 105: +case 106: YY_RULE_SETUP -#line 238 "definition_lex.l" +#line 249 "definition_lex.l" { for (definitionleng = definitionleng-2; definitionleng >= 0; definitionleng--) { @@ -1509,9 +1533,9 @@ YY_RULE_SETUP } } YY_BREAK -case 106: +case 107: YY_RULE_SETUP -#line 244 "definition_lex.l" +#line 255 "definition_lex.l" { if ((definitionleng-2) >= sizeof(definitionlval.string)) { @@ -1523,16 +1547,16 @@ YY_RULE_SETUP RETURN(STRING); } YY_BREAK -case 107: +case 108: YY_RULE_SETUP -#line 254 "definition_lex.l" +#line 265 "definition_lex.l" { RETURN(definitiontext[0]); } YY_BREAK -case 108: +case 109: YY_RULE_SETUP -#line 257 "definition_lex.l" +#line 268 "definition_lex.l" ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): @@ -1821,7 +1845,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 322 ) + if ( yy_current_state >= 327 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1851,12 +1875,12 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 322 ) + if ( yy_current_state >= 327 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; - yy_is_jam = (yy_current_state == 321); + yy_is_jam = (yy_current_state == 326); return yy_is_jam ? 0 : yy_current_state; } @@ -2393,7 +2417,7 @@ int main() return 0; } #endif -#line 257 "definition_lex.l" +#line 268 "definition_lex.l" void definitionerror(char *errmsg) diff --git a/DVTk_Library/Source/Libraries/Definition/definition_lex.l b/DVTk_Library/Source/Libraries/Definition/definition_lex.l index b1cb2f6..fa18d6f 100644 --- a/DVTk_Library/Source/Libraries/Definition/definition_lex.l +++ b/DVTk_Library/Source/Libraries/Definition/definition_lex.l @@ -2,7 +2,7 @@ %{ // Part of Dvtk Libraries - Internal Native Library Code -// Copyright © 2001-2006 +// Copyright � 2001-2006 // Philips Medical Systems NL B.V., Agfa-Gevaert N.V. #ifdef _WINDOWS @@ -224,6 +224,17 @@ VALUE { RETURN(T_VALUE);} RETURN(STRING); } +INFO\([^\n]*\) { + if (yyleng >= sizeof(yylval.string)) + { + yywarn("STRING too long!!! truncated") ; + yyleng = sizeof(yylval.string); + } + memcpy(yylval.string, yytext, yyleng); + yylval.string[yyleng] = '\0'; + RETURN(STRING); + } + 0(x|X)[0-9a-f]+ | 0(x|X)[0-9A-F]+ {