zeroc-ice 3.7.11 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dist/IceRuby/Communicator.cpp +159 -376
- data/dist/IceRuby/Communicator.h +8 -9
- data/dist/IceRuby/Config.h +23 -89
- data/dist/IceRuby/Connection.cpp +111 -219
- data/dist/IceRuby/Connection.h +8 -12
- data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
- data/dist/IceRuby/DefaultSliceLoader.h +25 -0
- data/dist/IceRuby/Endpoint.cpp +63 -65
- data/dist/IceRuby/Endpoint.h +7 -11
- data/dist/IceRuby/ImplicitContext.cpp +26 -31
- data/dist/IceRuby/ImplicitContext.h +6 -10
- data/dist/IceRuby/Init.cpp +27 -40
- data/dist/IceRuby/Logger.cpp +23 -28
- data/dist/IceRuby/Logger.h +8 -12
- data/dist/IceRuby/Operation.cpp +177 -219
- data/dist/IceRuby/Operation.h +15 -18
- data/dist/IceRuby/Properties.cpp +133 -89
- data/dist/IceRuby/Properties.h +6 -10
- data/dist/IceRuby/Proxy.cpp +179 -649
- data/dist/IceRuby/Proxy.h +11 -12
- data/dist/IceRuby/RubySliceLoader.cpp +39 -0
- data/dist/IceRuby/RubySliceLoader.h +27 -0
- data/dist/IceRuby/Slice.cpp +88 -94
- data/dist/IceRuby/Slice.h +3 -7
- data/dist/IceRuby/Types.cpp +987 -1190
- data/dist/IceRuby/Types.h +390 -461
- data/dist/IceRuby/Util.cpp +214 -473
- data/dist/IceRuby/Util.h +378 -479
- data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
- data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
- data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +4 -10
- data/dist/ice/cpp/include/Ice/Buffer.h +116 -111
- data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
- data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
- data/dist/ice/cpp/include/Ice/Config.h +46 -62
- data/dist/ice/cpp/include/Ice/Connection.h +410 -0
- data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
- data/dist/ice/cpp/include/Ice/ConnectionIF.h +6 -28
- data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
- data/dist/ice/cpp/include/Ice/Current.h +60 -0
- data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
- data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
- data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
- data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
- data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
- data/dist/ice/cpp/include/Ice/Exception.h +46 -151
- data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
- data/dist/ice/cpp/include/Ice/Format.h +11 -27
- data/dist/ice/cpp/include/Ice/Ice.h +53 -48
- data/dist/ice/cpp/include/Ice/IconvStringConverter.h +165 -326
- data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
- data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
- data/dist/ice/cpp/include/Ice/Initialize.h +113 -927
- data/dist/ice/cpp/include/Ice/InputStream.h +748 -1320
- data/dist/ice/cpp/include/Ice/InstanceF.h +4 -10
- data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
- data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
- data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
- data/dist/ice/cpp/include/Ice/Logger.h +62 -0
- data/dist/ice/cpp/include/Ice/LoggerUtil.h +124 -147
- data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
- data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +41 -71
- data/dist/ice/cpp/include/Ice/Object.h +151 -490
- data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
- data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
- data/dist/ice/cpp/include/Ice/ObjectF.h +5 -19
- data/dist/ice/cpp/include/Ice/ObserverHelper.h +115 -132
- data/dist/ice/cpp/include/Ice/OutgoingAsync.h +392 -748
- data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
- data/dist/ice/cpp/include/Ice/OutputStream.h +756 -956
- data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
- data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
- data/dist/ice/cpp/include/{IceUtil → Ice}/PopDisableWarnings.h +8 -6
- data/dist/ice/cpp/include/Ice/Properties.h +307 -0
- data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
- data/dist/ice/cpp/include/Ice/Proxy.h +665 -5094
- data/dist/ice/cpp/include/Ice/ProxyF.h +2 -44
- data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
- data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
- data/dist/ice/cpp/include/Ice/ReferenceF.h +4 -19
- data/dist/ice/cpp/include/Ice/RequestHandlerF.h +8 -18
- data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +276 -0
- data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
- data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
- data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
- data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +286 -0
- data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
- data/dist/ice/cpp/include/Ice/Service.h +182 -342
- data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
- data/dist/ice/cpp/include/Ice/SlicedData.h +113 -160
- data/dist/ice/cpp/include/Ice/SlicedDataF.h +17 -27
- data/dist/ice/cpp/include/Ice/StreamHelpers.h +532 -1070
- data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
- data/dist/ice/cpp/include/Ice/StringConverter.h +152 -63
- data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
- data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
- data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
- data/dist/ice/cpp/include/Ice/UUID.h +6 -9
- data/dist/ice/cpp/include/Ice/UserException.h +46 -0
- data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +4 -79
- data/dist/ice/cpp/include/Ice/Value.h +103 -115
- data/dist/ice/cpp/include/Ice/ValueF.h +6 -11
- data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +16 -1877
- data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -1185
- data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +46 -146
- data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
- data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +49 -93
- data/dist/ice/cpp/include/generated/Ice/Identity.h +70 -226
- data/dist/ice/cpp/include/generated/Ice/Locator.h +494 -3850
- data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
- data/dist/ice/cpp/include/generated/Ice/Metrics.h +937 -4603
- data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
- data/dist/ice/cpp/include/generated/Ice/Process.h +197 -929
- data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +249 -1301
- data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
- data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +637 -2620
- data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
- data/dist/ice/cpp/include/generated/Ice/Router.h +429 -1783
- data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +18 -65
- data/dist/ice/cpp/include/generated/Ice/Version.h +73 -318
- data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
- data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
- data/dist/ice/cpp/src/Ice/Acceptor.h +28 -24
- data/dist/ice/cpp/src/Ice/AcceptorF.h +6 -14
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
- data/dist/ice/cpp/src/Ice/ArgVector.cpp +17 -18
- data/dist/ice/cpp/src/Ice/ArgVector.h +19 -25
- data/dist/ice/cpp/src/Ice/Base64.cpp +66 -66
- data/dist/ice/cpp/src/Ice/Base64.h +14 -19
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +70 -121
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +37 -47
- data/dist/ice/cpp/src/Ice/Buffer.cpp +73 -41
- data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +215 -249
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +38 -60
- data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +63 -184
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +30 -51
- data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +4 -14
- data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
- data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +578 -792
- data/dist/ice/cpp/src/Ice/ConnectionFactory.h +200 -200
- data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +6 -19
- data/dist/ice/cpp/src/Ice/ConnectionI.cpp +1674 -1782
- data/dist/ice/cpp/src/Ice/ConnectionI.h +333 -293
- data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
- data/dist/ice/cpp/src/Ice/Connector.h +25 -19
- data/dist/ice/cpp/src/Ice/ConnectorF.h +4 -11
- data/dist/ice/cpp/src/{IceUtil → Ice}/ConsoleUtil.cpp +32 -53
- data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
- data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
- data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
- data/dist/ice/cpp/src/Ice/DLLMain.cpp +25 -35
- data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +41 -119
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +27 -41
- data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +4 -11
- data/dist/ice/cpp/src/Ice/Demangle.cpp +26 -0
- data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
- data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +44 -112
- data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
- data/dist/ice/cpp/src/Ice/Endian.h +40 -0
- data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +35 -59
- data/dist/ice/cpp/src/Ice/EndpointFactory.h +82 -103
- data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +4 -11
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +54 -87
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +28 -33
- data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +4 -11
- data/dist/ice/cpp/src/Ice/EndpointI.cpp +53 -23
- data/dist/ice/cpp/src/Ice/EndpointI.h +132 -200
- data/dist/ice/cpp/src/Ice/EndpointIF.h +11 -39
- data/dist/ice/cpp/src/Ice/EventHandler.cpp +3 -26
- data/dist/ice/cpp/src/Ice/EventHandler.h +46 -56
- data/dist/ice/cpp/src/Ice/EventHandlerF.h +4 -14
- data/dist/ice/cpp/src/Ice/Exception.cpp +3 -816
- data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
- data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
- data/dist/ice/cpp/src/Ice/HashUtil.h +46 -32
- data/dist/ice/cpp/src/Ice/HttpParser.cpp +431 -431
- data/dist/ice/cpp/src/Ice/HttpParser.h +95 -100
- data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +207 -324
- data/dist/ice/cpp/src/Ice/IPEndpointI.h +80 -126
- data/dist/ice/cpp/src/Ice/IPEndpointIF.h +6 -17
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
- data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
- data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
- data/dist/ice/cpp/src/Ice/Initialize.cpp +48 -542
- data/dist/ice/cpp/src/Ice/InputStream.cpp +848 -1385
- data/dist/ice/cpp/src/Ice/Instance.cpp +816 -827
- data/dist/ice/cpp/src/Ice/Instance.h +202 -212
- data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +526 -661
- data/dist/ice/cpp/src/Ice/InstrumentationI.h +171 -192
- data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
- data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
- data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +291 -329
- data/dist/ice/cpp/src/Ice/LocatorInfo.h +144 -157
- data/dist/ice/cpp/src/Ice/LocatorInfoF.h +8 -17
- data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +561 -743
- data/dist/ice/cpp/src/Ice/LoggerAdminI.h +18 -28
- data/dist/ice/cpp/src/Ice/LoggerI.cpp +66 -91
- data/dist/ice/cpp/src/Ice/LoggerI.h +36 -41
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
- data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +14 -38
- data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
- data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +194 -280
- data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
- data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
- data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
- data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
- data/dist/ice/cpp/src/Ice/Network.cpp +595 -917
- data/dist/ice/cpp/src/Ice/Network.h +189 -213
- data/dist/ice/cpp/src/Ice/NetworkF.h +2 -10
- data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +99 -104
- data/dist/ice/cpp/src/Ice/NetworkProxy.h +49 -54
- data/dist/ice/cpp/src/Ice/NetworkProxyF.h +4 -11
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +16 -18
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +22 -27
- data/dist/ice/cpp/src/Ice/Object.cpp +152 -338
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +170 -113
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +41 -41
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +4 -15
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +580 -727
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +149 -145
- data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +36 -17
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +147 -187
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +56 -64
- data/dist/ice/cpp/src/{IceUtil → Ice}/Options.cpp +187 -258
- data/dist/ice/cpp/src/Ice/Options.h +119 -0
- data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +516 -732
- data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
- data/dist/ice/cpp/src/Ice/OutputStream.cpp +610 -543
- data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
- data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
- data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +118 -277
- data/dist/ice/cpp/src/Ice/PluginManagerI.h +41 -48
- data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
- data/dist/ice/cpp/src/Ice/PropertyNames.cpp +519 -1341
- data/dist/ice/cpp/src/Ice/PropertyNames.h +49 -64
- data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
- data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
- data/dist/ice/cpp/src/Ice/Protocol.cpp +129 -94
- data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
- data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +117 -62
- data/dist/ice/cpp/src/Ice/ProtocolInstance.h +63 -82
- data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +4 -11
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +10 -32
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +25 -54
- data/dist/ice/cpp/src/Ice/Proxy.cpp +294 -1357
- data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
- data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
- data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
- data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
- data/dist/ice/cpp/src/Ice/Random.h +23 -0
- data/dist/ice/cpp/src/Ice/Reference.cpp +635 -1097
- data/dist/ice/cpp/src/Ice/Reference.h +314 -298
- data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +320 -378
- data/dist/ice/cpp/src/Ice/ReferenceFactory.h +48 -66
- data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +4 -9
- data/dist/ice/cpp/src/Ice/RequestHandler.cpp +15 -24
- data/dist/ice/cpp/src/Ice/RequestHandler.h +43 -68
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
- data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
- data/dist/ice/cpp/src/Ice/RetryQueue.cpp +51 -57
- data/dist/ice/cpp/src/Ice/RetryQueue.h +39 -46
- data/dist/ice/cpp/src/Ice/RetryQueueF.h +4 -9
- data/dist/ice/cpp/src/Ice/RouterInfo.cpp +97 -201
- data/dist/ice/cpp/src/Ice/RouterInfo.h +61 -118
- data/dist/ice/cpp/src/Ice/RouterInfoF.h +6 -14
- data/dist/ice/cpp/src/Ice/SHA1.cpp +86 -60
- data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +521 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +646 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
- data/dist/ice/cpp/src/{IceSSL → Ice/SSL}/RFC2253.cpp +85 -88
- data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +69 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +673 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +118 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1449 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1088 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +825 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1048 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +233 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
- data/dist/ice/cpp/src/Ice/Selector.cpp +341 -606
- data/dist/ice/cpp/src/Ice/Selector.h +167 -224
- data/dist/ice/cpp/src/Ice/ServantManager.cpp +195 -128
- data/dist/ice/cpp/src/Ice/ServantManager.h +52 -55
- data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/Service.cpp +548 -641
- data/dist/ice/cpp/src/Ice/SharedContext.h +13 -26
- data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
- data/dist/ice/cpp/src/Ice/SlicedData.cpp +17 -96
- data/dist/ice/cpp/src/Ice/StreamSocket.cpp +104 -151
- data/dist/ice/cpp/src/Ice/StreamSocket.h +48 -60
- data/dist/ice/cpp/src/Ice/StringConverter.cpp +586 -0
- data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
- data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +41 -47
- data/dist/ice/cpp/src/Ice/SysLoggerI.h +24 -27
- data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +16 -17
- data/dist/ice/cpp/src/Ice/SystemdJournalI.h +19 -25
- data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
- data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +67 -88
- data/dist/ice/cpp/src/Ice/TcpAcceptor.h +34 -40
- data/dist/ice/cpp/src/Ice/TcpConnector.cpp +42 -41
- data/dist/ice/cpp/src/Ice/TcpConnector.h +26 -35
- data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +172 -146
- data/dist/ice/cpp/src/Ice/TcpEndpointI.h +76 -80
- data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +38 -26
- data/dist/ice/cpp/src/Ice/TcpTransceiver.h +40 -45
- data/dist/ice/cpp/src/Ice/ThreadPool.cpp +333 -515
- data/dist/ice/cpp/src/Ice/ThreadPool.h +202 -290
- data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
- data/dist/ice/cpp/src/Ice/Timer.cpp +73 -167
- data/dist/ice/cpp/src/Ice/Timer.h +212 -0
- data/dist/ice/cpp/src/Ice/TraceLevels.cpp +11 -29
- data/dist/ice/cpp/src/Ice/TraceLevels.h +22 -28
- data/dist/ice/cpp/src/Ice/TraceLevelsF.h +4 -11
- data/dist/ice/cpp/src/Ice/TraceUtil.cpp +136 -215
- data/dist/ice/cpp/src/Ice/TraceUtil.h +27 -16
- data/dist/ice/cpp/src/Ice/Transceiver.cpp +3 -7
- data/dist/ice/cpp/src/Ice/Transceiver.h +35 -32
- data/dist/ice/cpp/src/Ice/TransceiverF.h +10 -20
- data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
- data/dist/ice/cpp/src/Ice/UdpConnector.cpp +39 -39
- data/dist/ice/cpp/src/Ice/UdpConnector.h +27 -36
- data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +178 -213
- data/dist/ice/cpp/src/Ice/UdpEndpointI.h +82 -85
- data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +201 -221
- data/dist/ice/cpp/src/Ice/UdpTransceiver.h +68 -74
- data/dist/ice/cpp/{include/IceUtil → src/Ice}/UndefSysMacros.h +12 -12
- data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
- data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
- data/dist/ice/cpp/src/Ice/Value.cpp +107 -38
- data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +10 -15
- data/dist/ice/cpp/src/Ice/WSAcceptor.h +31 -37
- data/dist/ice/cpp/src/Ice/WSConnector.cpp +25 -40
- data/dist/ice/cpp/src/Ice/WSConnector.h +26 -33
- data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +164 -217
- data/dist/ice/cpp/src/Ice/WSEndpoint.h +72 -83
- data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +469 -458
- data/dist/ice/cpp/src/Ice/WSTransceiver.h +117 -123
- data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +20 -29
- data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +20 -31
- data/dist/ice/cpp/src/Ice/generated/Identity.cpp +24 -34
- data/dist/ice/cpp/src/Ice/generated/Locator.cpp +454 -1744
- data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
- data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +824 -1971
- data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
- data/dist/ice/cpp/src/Ice/generated/Process.cpp +190 -331
- data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +289 -449
- data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +547 -867
- data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
- data/dist/ice/cpp/src/Ice/generated/Router.cpp +406 -723
- data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +19 -29
- data/dist/ice/cpp/src/Ice/generated/Version.cpp +28 -31
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +76 -139
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +55 -96
- data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +190 -303
- data/dist/ice/cpp/src/IceDiscovery/LookupI.h +126 -185
- data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +56 -77
- data/dist/ice/cpp/src/IceDiscovery/PluginI.h +20 -25
- data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
- data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +14 -37
- data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +411 -649
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
- data/dist/ice/cpp/src/Slice/FileTracker.cpp +25 -75
- data/dist/ice/cpp/src/Slice/FileTracker.h +35 -56
- data/dist/ice/cpp/src/Slice/Grammar.cpp +2711 -3382
- data/dist/ice/cpp/src/Slice/Grammar.h +95 -75
- data/dist/ice/cpp/src/Slice/GrammarUtil.h +117 -217
- data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +486 -0
- data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
- data/dist/ice/cpp/src/Slice/Parser.cpp +3068 -5223
- data/dist/ice/cpp/src/Slice/Parser.h +1086 -1065
- data/dist/ice/cpp/src/Slice/Preprocessor.cpp +97 -599
- data/dist/ice/cpp/src/Slice/Preprocessor.h +26 -42
- data/dist/ice/cpp/src/Slice/Scanner.cpp +1562 -924
- data/dist/ice/cpp/src/Slice/SliceUtil.cpp +517 -113
- data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +254 -269
- data/dist/ice/cpp/src/Slice/Util.h +126 -35
- data/dist/ice/cpp/src/slice2rb/Main.cpp +13 -15
- data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
- data/dist/ice/slice/Glacier2/Metrics.ice +34 -75
- data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +42 -98
- data/dist/ice/slice/Glacier2/Router.ice +80 -173
- data/dist/ice/slice/Glacier2/SSLInfo.ice +23 -40
- data/dist/ice/slice/Glacier2/Session.ice +120 -261
- data/dist/ice/slice/Ice/BuiltinSequences.ice +33 -38
- data/dist/ice/slice/Ice/Context.ice +24 -0
- data/dist/ice/slice/Ice/EndpointTypes.ice +35 -33
- data/dist/ice/slice/Ice/Identity.ice +24 -63
- data/dist/ice/slice/Ice/Locator.ice +61 -226
- data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
- data/dist/ice/slice/Ice/Metrics.ice +189 -424
- data/dist/ice/slice/Ice/OperationMode.ice +38 -0
- data/dist/ice/slice/Ice/Process.ice +16 -52
- data/dist/ice/slice/Ice/PropertiesAdmin.ice +25 -75
- data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
- data/dist/ice/slice/Ice/RemoteLogger.ice +113 -213
- data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
- data/dist/ice/slice/Ice/Router.ice +42 -91
- data/dist/ice/slice/Ice/SliceChecksumDict.ice +7 -25
- data/dist/ice/slice/Ice/Version.ice +31 -39
- data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
- data/dist/ice/slice/IceGrid/Admin.ice +942 -1918
- data/dist/ice/slice/IceGrid/Descriptor.ice +476 -1051
- data/dist/ice/slice/IceGrid/Exception.ice +86 -384
- data/dist/ice/slice/IceGrid/FileParser.ice +23 -59
- data/dist/ice/slice/IceGrid/Registry.ice +117 -256
- data/dist/ice/slice/IceGrid/Session.ice +46 -110
- data/dist/ice/slice/IceGrid/UserAccountMapper.ice +22 -57
- data/dist/ice/slice/IceStorm/IceStorm.ice +173 -401
- data/dist/ice/slice/IceStorm/Metrics.ice +28 -70
- data/dist/lib/Glacier2/Metrics.rb +16 -31
- data/dist/lib/Glacier2/PermissionsVerifier.rb +18 -50
- data/dist/lib/Glacier2/Router.rb +20 -42
- data/dist/lib/Glacier2/SSLInfo.rb +14 -22
- data/dist/lib/Glacier2/Session.rb +53 -113
- data/dist/lib/Glacier2.rb +6 -6
- data/dist/lib/Ice/BuiltinSequences.rb +14 -26
- data/dist/lib/Ice/CompressBatch.rb +50 -0
- data/dist/lib/Ice/Context.rb +12 -0
- data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
- data/dist/lib/Ice/EndpointTypes.rb +14 -55
- data/dist/lib/Ice/Exception.rb +20 -0
- data/dist/lib/Ice/Identity.rb +10 -26
- data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
- data/dist/lib/Ice/InitializationData.rb +12 -0
- data/dist/lib/Ice/LocalExceptions.rb +168 -0
- data/dist/lib/Ice/Locator.rb +21 -134
- data/dist/lib/Ice/LocatorRegistry.rb +73 -0
- data/dist/lib/Ice/Metrics.rb +85 -132
- data/dist/lib/Ice/OperationMode.rb +58 -0
- data/dist/lib/Ice/Process.rb +12 -31
- data/dist/lib/Ice/PropertiesAdmin.rb +12 -36
- data/dist/lib/Ice/PropertyDict.rb +12 -0
- data/dist/lib/Ice/Proxy.rb +85 -0
- data/dist/lib/Ice/ProxyFunctions.rb +69 -0
- data/dist/lib/Ice/RemoteLogger.rb +29 -60
- data/dist/lib/Ice/ReplyStatus.rb +65 -0
- data/dist/lib/Ice/Router.rb +19 -47
- data/dist/lib/Ice/SliceChecksumDict.rb +5 -17
- data/dist/lib/Ice/SliceUtil.rb +41 -0
- data/dist/lib/Ice/Struct.rb +11 -0
- data/dist/lib/Ice/ToStringMode.rb +50 -0
- data/dist/lib/Ice/Value.rb +93 -0
- data/dist/lib/Ice/Version.rb +12 -24
- data/dist/lib/Ice.rb +29 -665
- data/dist/lib/IceBox/ServiceManager.rb +104 -0
- data/dist/lib/IceBox.rb +2 -4
- data/dist/lib/IceGrid/Admin.rb +303 -291
- data/dist/lib/IceGrid/Descriptor.rb +147 -192
- data/dist/lib/IceGrid/Exception.rb +26 -257
- data/dist/lib/IceGrid/FileParser.rb +12 -36
- data/dist/lib/IceGrid/Registry.rb +35 -76
- data/dist/lib/IceGrid/Session.rb +19 -34
- data/dist/lib/IceGrid/UserAccountMapper.rb +11 -34
- data/dist/lib/IceGrid.rb +3 -3
- data/dist/lib/IceStorm/IceStorm.rb +51 -132
- data/dist/lib/IceStorm/Metrics.rb +19 -37
- data/dist/lib/IceStorm.rb +3 -5
- data/extconf.rb +6 -8
- data/ice.gemspec +3 -3
- data/scripts/slice2rb +1 -3
- metadata +206 -386
- data/dist/IceRuby/ValueFactoryManager.cpp +0 -445
- data/dist/IceRuby/ValueFactoryManager.h +0 -95
- data/dist/ice/cpp/include/Ice/Application.h +0 -326
- data/dist/ice/cpp/include/Ice/AsyncResult.h +0 -155
- data/dist/ice/cpp/include/Ice/AsyncResultF.h +0 -23
- data/dist/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
- data/dist/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
- data/dist/ice/cpp/include/Ice/Comparable.h +0 -205
- data/dist/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
- data/dist/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
- data/dist/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
- data/dist/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
- data/dist/ice/cpp/include/Ice/Dispatcher.h +0 -67
- data/dist/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
- data/dist/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
- data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
- data/dist/ice/cpp/include/Ice/FactoryTable.h +0 -73
- data/dist/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
- data/dist/ice/cpp/include/Ice/Functional.h +0 -140
- data/dist/ice/cpp/include/Ice/GCObject.h +0 -76
- data/dist/ice/cpp/include/Ice/Handle.h +0 -182
- data/dist/ice/cpp/include/Ice/Incoming.h +0 -225
- data/dist/ice/cpp/include/Ice/IncomingAsync.h +0 -186
- data/dist/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
- data/dist/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
- data/dist/ice/cpp/include/Ice/LocalObject.h +0 -35
- data/dist/ice/cpp/include/Ice/LocalObjectF.h +0 -21
- data/dist/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
- data/dist/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
- data/dist/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
- data/dist/ice/cpp/include/Ice/Optional.h +0 -1114
- data/dist/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
- data/dist/ice/cpp/include/Ice/Protocol.h +0 -274
- data/dist/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
- data/dist/ice/cpp/include/Ice/ProxyHandle.h +0 -318
- data/dist/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
- data/dist/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
- data/dist/ice/cpp/include/Ice/SHA1.h +0 -40
- data/dist/ice/cpp/include/Ice/ServantManagerF.h +0 -21
- data/dist/ice/cpp/include/Ice/SliceChecksums.h +0 -33
- data/dist/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
- data/dist/ice/cpp/include/Ice/UniquePtr.h +0 -95
- data/dist/ice/cpp/include/Ice/UniqueRef.h +0 -97
- data/dist/ice/cpp/include/IceSSL/Config.h +0 -21
- data/dist/ice/cpp/include/IceSSL/IceSSL.h +0 -24
- data/dist/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
- data/dist/ice/cpp/include/IceSSL/Plugin.h +0 -712
- data/dist/ice/cpp/include/IceSSL/SChannel.h +0 -72
- data/dist/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
- data/dist/ice/cpp/include/IceUtil/Atomic.h +0 -179
- data/dist/ice/cpp/include/IceUtil/Cond.h +0 -317
- data/dist/ice/cpp/include/IceUtil/Config.h +0 -392
- data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
- data/dist/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
- data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -96
- data/dist/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
- data/dist/ice/cpp/include/IceUtil/Exception.h +0 -394
- data/dist/ice/cpp/include/IceUtil/FileUtil.h +0 -140
- data/dist/ice/cpp/include/IceUtil/Functional.h +0 -389
- data/dist/ice/cpp/include/IceUtil/Handle.h +0 -261
- data/dist/ice/cpp/include/IceUtil/IceUtil.h +0 -40
- data/dist/ice/cpp/include/IceUtil/InputUtil.h +0 -42
- data/dist/ice/cpp/include/IceUtil/Iterator.h +0 -31
- data/dist/ice/cpp/include/IceUtil/Lock.h +0 -128
- data/dist/ice/cpp/include/IceUtil/Monitor.h +0 -243
- data/dist/ice/cpp/include/IceUtil/Mutex.h +0 -349
- data/dist/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
- data/dist/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
- data/dist/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
- data/dist/ice/cpp/include/IceUtil/Optional.h +0 -433
- data/dist/ice/cpp/include/IceUtil/Options.h +0 -135
- data/dist/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
- data/dist/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
- data/dist/ice/cpp/include/IceUtil/Random.h +0 -55
- data/dist/ice/cpp/include/IceUtil/RecMutex.h +0 -107
- data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
- data/dist/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
- data/dist/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
- data/dist/ice/cpp/include/IceUtil/Shared.h +0 -127
- data/dist/ice/cpp/include/IceUtil/StopWatch.h +0 -49
- data/dist/ice/cpp/include/IceUtil/StringConverter.h +0 -195
- data/dist/ice/cpp/include/IceUtil/StringUtil.h +0 -97
- data/dist/ice/cpp/include/IceUtil/Thread.h +0 -160
- data/dist/ice/cpp/include/IceUtil/ThreadException.h +0 -94
- data/dist/ice/cpp/include/IceUtil/Time.h +0 -205
- data/dist/ice/cpp/include/IceUtil/Timer.h +0 -153
- data/dist/ice/cpp/include/IceUtil/UUID.h +0 -21
- data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +0 -475
- data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +0 -1430
- data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +0 -147
- data/dist/ice/cpp/include/generated/Glacier2/Router.h +0 -3260
- data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +0 -125
- data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +0 -223
- data/dist/ice/cpp/include/generated/Glacier2/Session.h +0 -5894
- data/dist/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
- data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/Connection.h +0 -1703
- data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
- data/dist/ice/cpp/include/generated/Ice/Current.h +0 -322
- data/dist/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
- data/dist/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
- data/dist/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
- data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
- data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
- data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
- data/dist/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
- data/dist/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
- data/dist/ice/cpp/include/generated/Ice/Logger.h +0 -237
- data/dist/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
- data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
- data/dist/ice/cpp/include/generated/Ice/Plugin.h +0 -318
- data/dist/ice/cpp/include/generated/Ice/PluginF.h +0 -110
- data/dist/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
- data/dist/ice/cpp/include/generated/Ice/Properties.h +0 -452
- data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
- data/dist/ice/cpp/include/generated/Ice/RouterF.h +0 -125
- data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
- data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
- data/dist/ice/cpp/include/generated/IceBox/IceBox.h +0 -3269
- data/dist/ice/cpp/include/generated/IceGrid/Admin.h +0 -33773
- data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +0 -5254
- data/dist/ice/cpp/include/generated/IceGrid/Exception.h +0 -2834
- data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +0 -824
- data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +0 -635
- data/dist/ice/cpp/include/generated/IceGrid/Registry.h +0 -5089
- data/dist/ice/cpp/include/generated/IceGrid/Session.h +0 -2240
- data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +0 -800
- data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +0 -325
- data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +0 -2891
- data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
- data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
- data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
- data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +0 -6627
- data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +0 -665
- data/dist/ice/cpp/src/Ice/ACM.cpp +0 -380
- data/dist/ice/cpp/src/Ice/ACM.h +0 -119
- data/dist/ice/cpp/src/Ice/ACMF.h +0 -30
- data/dist/ice/cpp/src/Ice/Acceptor.cpp +0 -16
- data/dist/ice/cpp/src/Ice/Application.cpp +0 -661
- data/dist/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
- data/dist/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
- data/dist/ice/cpp/src/Ice/CommunicatorI.h +0 -167
- data/dist/ice/cpp/src/Ice/Cond.cpp +0 -381
- data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
- data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
- data/dist/ice/cpp/src/Ice/Connector.cpp +0 -16
- data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
- data/dist/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
- data/dist/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
- data/dist/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
- data/dist/ice/cpp/src/Ice/GCObject.cpp +0 -442
- data/dist/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
- data/dist/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
- data/dist/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
- data/dist/ice/cpp/src/Ice/Incoming.cpp +0 -795
- data/dist/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
- data/dist/ice/cpp/src/Ice/IncomingRequest.h +0 -33
- data/dist/ice/cpp/src/Ice/LocalObject.cpp +0 -23
- data/dist/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
- data/dist/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
- data/dist/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
- data/dist/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
- data/dist/ice/cpp/src/Ice/PropertiesI.h +0 -70
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
- data/dist/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
- data/dist/ice/cpp/src/Ice/ProxyFactory.h +0 -57
- data/dist/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
- data/dist/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
- data/dist/ice/cpp/src/Ice/ReplyStatus.h +0 -24
- data/dist/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
- data/dist/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
- data/dist/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
- data/dist/ice/cpp/src/Ice/ResponseHandler.h +0 -43
- data/dist/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
- data/dist/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
- data/dist/ice/cpp/src/Ice/StringUtil.h +0 -30
- data/dist/ice/cpp/src/Ice/Thread.cpp +0 -569
- data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
- data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
- data/dist/ice/cpp/src/Ice/VirtualShared.h +0 -38
- data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +0 -79
- data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Connection.cpp +0 -155
- data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Current.cpp +0 -62
- data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +0 -147
- data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +0 -49
- data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +0 -188
- data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +0 -66
- data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +0 -3262
- data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/Logger.cpp +0 -73
- data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +0 -79
- data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +0 -87
- data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/Properties.cpp +0 -78
- data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +0 -83
- data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +0 -154
- data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +0 -49
- data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +0 -146
- data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +0 -52
- data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +0 -477
- data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +0 -156
- data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +0 -570
- data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +0 -93
- data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +0 -1889
- data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +0 -915
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +0 -730
- data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
- data/dist/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
- data/dist/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
- data/dist/ice/cpp/src/IceSSL/CertificateI.h +0 -64
- data/dist/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
- data/dist/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
- data/dist/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
- data/dist/ice/cpp/src/IceSSL/EndpointI.h +0 -100
- data/dist/ice/cpp/src/IceSSL/Instance.cpp +0 -28
- data/dist/ice/cpp/src/IceSSL/Instance.h +0 -37
- data/dist/ice/cpp/src/IceSSL/InstanceF.h +0 -33
- data/dist/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
- data/dist/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
- data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
- data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
- data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
- data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
- data/dist/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
- data/dist/ice/cpp/src/IceSSL/PluginI.h +0 -67
- data/dist/ice/cpp/src/IceSSL/RFC2253.h +0 -62
- data/dist/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
- data/dist/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
- data/dist/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
- data/dist/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
- data/dist/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
- data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
- data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
- data/dist/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
- data/dist/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
- data/dist/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
- data/dist/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
- data/dist/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
- data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
- data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
- data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
- data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
- data/dist/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
- data/dist/ice/cpp/src/IceSSL/TrustManager.h +0 -46
- data/dist/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
- data/dist/ice/cpp/src/IceSSL/Util.cpp +0 -192
- data/dist/ice/cpp/src/IceSSL/Util.h +0 -99
- data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +0 -75
- data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +0 -61
- data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +0 -75
- data/dist/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
- data/dist/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
- data/dist/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
- data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
- data/dist/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
- data/dist/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
- data/dist/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
- data/dist/ice/cpp/src/IceUtil/Random.cpp +0 -180
- data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
- data/dist/ice/cpp/src/IceUtil/Shared.cpp +0 -71
- data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
- data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
- data/dist/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
- data/dist/ice/cpp/src/IceUtil/Time.cpp +0 -307
- data/dist/ice/cpp/src/IceUtil/UUID.cpp +0 -165
- data/dist/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
- data/dist/ice/cpp/src/IceUtil/Unicode.h +0 -43
- data/dist/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
- data/dist/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
- data/dist/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
- data/dist/ice/cpp/src/Slice/Checksum.cpp +0 -447
- data/dist/ice/cpp/src/Slice/Checksum.h +0 -21
- data/dist/ice/cpp/src/Slice/JavaUtil.cpp +0 -5183
- data/dist/ice/cpp/src/Slice/JavaUtil.h +0 -407
- data/dist/ice/cpp/src/Slice/MD5.cpp +0 -52
- data/dist/ice/cpp/src/Slice/MD5.h +0 -39
- data/dist/ice/cpp/src/Slice/MD5I.cpp +0 -393
- data/dist/ice/cpp/src/Slice/MD5I.h +0 -91
- data/dist/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
- data/dist/ice/cpp/src/Slice/PHPUtil.h +0 -36
- data/dist/ice/cpp/src/Slice/Python.cpp +0 -830
- data/dist/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
- data/dist/ice/cpp/src/Slice/PythonUtil.h +0 -70
- data/dist/ice/cpp/src/Slice/Ruby.cpp +0 -350
- data/dist/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
- data/dist/ice/cpp/src/Slice/RubyUtil.h +0 -49
- data/dist/ice/slice/Glacier2/PermissionsVerifierF.ice +0 -30
- data/dist/ice/slice/Glacier2/RouterF.ice +0 -29
- data/dist/ice/slice/Ice/Communicator.ice +0 -676
- data/dist/ice/slice/Ice/CommunicatorF.ice +0 -31
- data/dist/ice/slice/Ice/Connection.ice +0 -516
- data/dist/ice/slice/Ice/ConnectionF.ice +0 -33
- data/dist/ice/slice/Ice/Current.ice +0 -170
- data/dist/ice/slice/Ice/Endpoint.ice +0 -291
- data/dist/ice/slice/Ice/EndpointF.ice +0 -43
- data/dist/ice/slice/Ice/FacetMap.ice +0 -36
- data/dist/ice/slice/Ice/ImplicitContext.ice +0 -119
- data/dist/ice/slice/Ice/ImplicitContextF.ice +0 -30
- data/dist/ice/slice/Ice/Instrumentation.ice +0 -509
- data/dist/ice/slice/Ice/InstrumentationF.ice +0 -38
- data/dist/ice/slice/Ice/LocalException.ice +0 -1040
- data/dist/ice/slice/Ice/LocatorF.ice +0 -32
- data/dist/ice/slice/Ice/Logger.ice +0 -99
- data/dist/ice/slice/Ice/LoggerF.ice +0 -31
- data/dist/ice/slice/Ice/ObjectAdapter.ice +0 -710
- data/dist/ice/slice/Ice/ObjectAdapterF.ice +0 -31
- data/dist/ice/slice/Ice/ObjectFactory.ice +0 -71
- data/dist/ice/slice/Ice/Plugin.ice +0 -131
- data/dist/ice/slice/Ice/PluginF.ice +0 -36
- data/dist/ice/slice/Ice/ProcessF.ice +0 -31
- data/dist/ice/slice/Ice/Properties.ice +0 -244
- data/dist/ice/slice/Ice/PropertiesF.ice +0 -32
- data/dist/ice/slice/Ice/RouterF.ice +0 -31
- data/dist/ice/slice/Ice/ServantLocator.ice +0 -136
- data/dist/ice/slice/Ice/ServantLocatorF.ice +0 -31
- data/dist/ice/slice/Ice/ValueFactory.ice +0 -133
- data/dist/ice/slice/IceBox/IceBox.ice +0 -216
- data/dist/ice/slice/IceGrid/PluginFacade.ice +0 -329
- data/dist/ice/slice/IcePatch2/FileInfo.ice +0 -85
- data/dist/ice/slice/IcePatch2/FileServer.ice +0 -191
- data/dist/lib/Glacier2/PermissionsVerifierF.rb +0 -30
- data/dist/lib/Glacier2/RouterF.rb +0 -25
- data/dist/lib/Ice/Communicator.rb +0 -87
- data/dist/lib/Ice/CommunicatorF.rb +0 -24
- data/dist/lib/Ice/Connection.rb +0 -413
- data/dist/lib/Ice/ConnectionF.rb +0 -32
- data/dist/lib/Ice/Current.rb +0 -141
- data/dist/lib/Ice/Endpoint.rb +0 -187
- data/dist/lib/Ice/EndpointF.rb +0 -48
- data/dist/lib/Ice/FacetMap.rb +0 -24
- data/dist/lib/Ice/ImplicitContext.rb +0 -26
- data/dist/lib/Ice/ImplicitContextF.rb +0 -24
- data/dist/lib/Ice/Instrumentation.rb +0 -169
- data/dist/lib/Ice/InstrumentationF.rb +0 -31
- data/dist/lib/Ice/LocalException.rb +0 -1031
- data/dist/lib/Ice/LocatorF.rb +0 -30
- data/dist/lib/Ice/Logger.rb +0 -24
- data/dist/lib/Ice/LoggerF.rb +0 -24
- data/dist/lib/Ice/ObjectAdapter.rb +0 -29
- data/dist/lib/Ice/ObjectAdapterF.rb +0 -24
- data/dist/lib/Ice/ObjectFactory.rb +0 -24
- data/dist/lib/Ice/Plugin.rb +0 -30
- data/dist/lib/Ice/PluginF.rb +0 -28
- data/dist/lib/Ice/ProcessF.rb +0 -25
- data/dist/lib/Ice/Properties.rb +0 -25
- data/dist/lib/Ice/PropertiesF.rb +0 -29
- data/dist/lib/Ice/RouterF.rb +0 -25
- data/dist/lib/Ice/ServantLocator.rb +0 -26
- data/dist/lib/Ice/ServantLocatorF.rb +0 -24
- data/dist/lib/Ice/ValueFactory.rb +0 -28
- data/dist/lib/IceBox/IceBox.rb +0 -164
- data/dist/lib/IceGrid/PluginFacade.rb +0 -35
- data/dist/lib/IcePatch2/FileInfo.rb +0 -115
- data/dist/lib/IcePatch2/FileServer.rb +0 -123
- data/dist/lib/IcePatch2.rb +0 -5
|
@@ -1,12 +1,25 @@
|
|
|
1
|
-
#include <IceUtil/ScannerConfig.h>
|
|
2
1
|
#line 1 "src/Slice/Scanner.cpp"
|
|
2
|
+
// Copyright (c) ZeroC, Inc.
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
#include "../Ice/ScannerConfig.h"
|
|
5
|
+
#include <cstdint>
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
// Clang detects unreachable code in the generated scanner, so we disable the warning.
|
|
8
|
+
#if defined(__clang__)
|
|
9
|
+
# pragma clang diagnostic ignored "-Wunreachable-code"
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
// NOLINTBEGIN
|
|
13
|
+
|
|
14
|
+
#line 14 "src/Slice/Scanner.cpp"
|
|
15
|
+
|
|
16
|
+
#define YY_INT_ALIGNED long int
|
|
7
17
|
|
|
8
18
|
/* A lexical scanner generated by flex */
|
|
9
19
|
|
|
20
|
+
/* %not-for-header */
|
|
21
|
+
/* %if-c-only */
|
|
22
|
+
/* %if-not-reentrant */
|
|
10
23
|
#define yy_create_buffer slice__create_buffer
|
|
11
24
|
#define yy_delete_buffer slice__delete_buffer
|
|
12
25
|
#define yy_scan_buffer slice__scan_buffer
|
|
@@ -32,6 +45,10 @@
|
|
|
32
45
|
#define yyrealloc slice_realloc
|
|
33
46
|
#define yyfree slice_free
|
|
34
47
|
|
|
48
|
+
/* %endif */
|
|
49
|
+
/* %endif */
|
|
50
|
+
/* %ok-for-header */
|
|
51
|
+
|
|
35
52
|
#define FLEX_SCANNER
|
|
36
53
|
#define YY_FLEX_MAJOR_VERSION 2
|
|
37
54
|
#define YY_FLEX_MINOR_VERSION 6
|
|
@@ -40,6 +57,10 @@
|
|
|
40
57
|
#define FLEX_BETA
|
|
41
58
|
#endif
|
|
42
59
|
|
|
60
|
+
/* %if-c++-only */
|
|
61
|
+
/* %endif */
|
|
62
|
+
|
|
63
|
+
/* %if-c-only */
|
|
43
64
|
#ifdef yy_create_buffer
|
|
44
65
|
#define slice__create_buffer_ALREADY_DEFINED
|
|
45
66
|
#else
|
|
@@ -220,6 +241,32 @@
|
|
|
220
241
|
#define yywrap slice_wrap
|
|
221
242
|
#endif
|
|
222
243
|
|
|
244
|
+
/* %endif */
|
|
245
|
+
|
|
246
|
+
#ifdef yyget_lval
|
|
247
|
+
#define slice_get_lval_ALREADY_DEFINED
|
|
248
|
+
#else
|
|
249
|
+
#define yyget_lval slice_get_lval
|
|
250
|
+
#endif
|
|
251
|
+
|
|
252
|
+
#ifdef yyset_lval
|
|
253
|
+
#define slice_set_lval_ALREADY_DEFINED
|
|
254
|
+
#else
|
|
255
|
+
#define yyset_lval slice_set_lval
|
|
256
|
+
#endif
|
|
257
|
+
|
|
258
|
+
#ifdef yyget_lloc
|
|
259
|
+
#define slice_get_lloc_ALREADY_DEFINED
|
|
260
|
+
#else
|
|
261
|
+
#define yyget_lloc slice_get_lloc
|
|
262
|
+
#endif
|
|
263
|
+
|
|
264
|
+
#ifdef yyset_lloc
|
|
265
|
+
#define slice_set_lloc_ALREADY_DEFINED
|
|
266
|
+
#else
|
|
267
|
+
#define yyset_lloc slice_set_lloc
|
|
268
|
+
#endif
|
|
269
|
+
|
|
223
270
|
#ifdef yyalloc
|
|
224
271
|
#define slice_alloc_ALREADY_DEFINED
|
|
225
272
|
#else
|
|
@@ -238,6 +285,8 @@
|
|
|
238
285
|
#define yyfree slice_free
|
|
239
286
|
#endif
|
|
240
287
|
|
|
288
|
+
/* %if-c-only */
|
|
289
|
+
|
|
241
290
|
#ifdef yytext
|
|
242
291
|
#define slice_text_ALREADY_DEFINED
|
|
243
292
|
#else
|
|
@@ -274,16 +323,23 @@
|
|
|
274
323
|
#define yylineno slice_lineno
|
|
275
324
|
#endif
|
|
276
325
|
|
|
326
|
+
/* %endif */
|
|
327
|
+
|
|
277
328
|
/* First, we deal with platform-specific or compiler-specific issues. */
|
|
278
329
|
|
|
279
330
|
/* begin standard C headers. */
|
|
331
|
+
/* %if-c-only */
|
|
280
332
|
#include <stdio.h>
|
|
281
333
|
#include <string.h>
|
|
282
334
|
#include <errno.h>
|
|
283
335
|
#include <stdlib.h>
|
|
336
|
+
/* %endif */
|
|
284
337
|
|
|
338
|
+
/* %if-tables-serialization */
|
|
339
|
+
/* %endif */
|
|
285
340
|
/* end standard C headers. */
|
|
286
341
|
|
|
342
|
+
/* %if-c-or-c++ */
|
|
287
343
|
/* flex integer type definitions */
|
|
288
344
|
|
|
289
345
|
#ifndef FLEXINT_H
|
|
@@ -352,7 +408,11 @@ typedef unsigned int flex_uint32_t;
|
|
|
352
408
|
|
|
353
409
|
#endif /* ! FLEXINT_H */
|
|
354
410
|
|
|
411
|
+
/* %endif */
|
|
412
|
+
|
|
355
413
|
/* begin standard C++ headers. */
|
|
414
|
+
/* %if-c++-only */
|
|
415
|
+
/* %endif */
|
|
356
416
|
|
|
357
417
|
/* TODO: this is always defined, so inline it */
|
|
358
418
|
#define yyconst const
|
|
@@ -363,13 +423,24 @@ typedef unsigned int flex_uint32_t;
|
|
|
363
423
|
#define yynoreturn
|
|
364
424
|
#endif
|
|
365
425
|
|
|
426
|
+
/* %not-for-header */
|
|
366
427
|
/* Returned upon end-of-file. */
|
|
367
428
|
#define YY_NULL 0
|
|
429
|
+
/* %ok-for-header */
|
|
368
430
|
|
|
431
|
+
/* %not-for-header */
|
|
369
432
|
/* Promotes a possibly negative, possibly signed char to an
|
|
370
433
|
* integer in range [0..255] for use as an array index.
|
|
371
434
|
*/
|
|
372
435
|
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
|
|
436
|
+
/* %ok-for-header */
|
|
437
|
+
|
|
438
|
+
/* %if-reentrant */
|
|
439
|
+
/* %endif */
|
|
440
|
+
|
|
441
|
+
/* %if-not-reentrant */
|
|
442
|
+
|
|
443
|
+
/* %endif */
|
|
373
444
|
|
|
374
445
|
/* Enter a start condition. This macro really ought to take a parameter,
|
|
375
446
|
* but we do it the disgusting crufty way forced on us by the ()-less
|
|
@@ -415,9 +486,15 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
|
|
|
415
486
|
typedef size_t yy_size_t;
|
|
416
487
|
#endif
|
|
417
488
|
|
|
489
|
+
/* %if-not-reentrant */
|
|
418
490
|
extern int yyleng;
|
|
491
|
+
/* %endif */
|
|
419
492
|
|
|
493
|
+
/* %if-c-only */
|
|
494
|
+
/* %if-not-reentrant */
|
|
420
495
|
extern FILE *yyin, *yyout;
|
|
496
|
+
/* %endif */
|
|
497
|
+
/* %endif */
|
|
421
498
|
|
|
422
499
|
#define EOB_ACT_CONTINUE_SCAN 0
|
|
423
500
|
#define EOB_ACT_END_OF_FILE 1
|
|
@@ -445,7 +522,12 @@ extern FILE *yyin, *yyout;
|
|
|
445
522
|
#define YY_STRUCT_YY_BUFFER_STATE
|
|
446
523
|
struct yy_buffer_state
|
|
447
524
|
{
|
|
525
|
+
/* %if-c-only */
|
|
448
526
|
FILE *yy_input_file;
|
|
527
|
+
/* %endif */
|
|
528
|
+
|
|
529
|
+
/* %if-c++-only */
|
|
530
|
+
/* %endif */
|
|
449
531
|
|
|
450
532
|
char *yy_ch_buf; /* input buffer */
|
|
451
533
|
char *yy_buf_pos; /* current position in input buffer */
|
|
@@ -506,10 +588,18 @@ struct yy_buffer_state
|
|
|
506
588
|
};
|
|
507
589
|
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
|
|
508
590
|
|
|
591
|
+
/* %if-c-only Standard (non-C++) definition */
|
|
592
|
+
/* %not-for-header */
|
|
593
|
+
/* %if-not-reentrant */
|
|
594
|
+
|
|
509
595
|
/* Stack of input buffers. */
|
|
510
596
|
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
|
|
511
597
|
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
|
|
512
598
|
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
|
|
599
|
+
/* %endif */
|
|
600
|
+
/* %ok-for-header */
|
|
601
|
+
|
|
602
|
+
/* %endif */
|
|
513
603
|
|
|
514
604
|
/* We provide macros for accessing buffer states in case in the
|
|
515
605
|
* future we want to put the buffer states in a more general
|
|
@@ -525,6 +615,10 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
|
|
|
525
615
|
*/
|
|
526
616
|
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
|
|
527
617
|
|
|
618
|
+
/* %if-c-only Standard (non-C++) definition */
|
|
619
|
+
|
|
620
|
+
/* %if-not-reentrant */
|
|
621
|
+
/* %not-for-header */
|
|
528
622
|
/* yy_hold_char holds the character lost when yytext is formed. */
|
|
529
623
|
static char yy_hold_char;
|
|
530
624
|
static int yy_n_chars; /* number of characters read into yy_ch_buf */
|
|
@@ -539,6 +633,9 @@ static int yy_start = 0; /* start state number */
|
|
|
539
633
|
* instead of setting up a fresh yyin. A bit of a hack ...
|
|
540
634
|
*/
|
|
541
635
|
static int yy_did_buffer_switch_on_eof;
|
|
636
|
+
/* %ok-for-header */
|
|
637
|
+
|
|
638
|
+
/* %endif */
|
|
542
639
|
|
|
543
640
|
void yyrestart ( FILE *input_file );
|
|
544
641
|
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
|
|
@@ -557,6 +654,8 @@ YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
|
|
|
557
654
|
YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
|
|
558
655
|
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
|
|
559
656
|
|
|
657
|
+
/* %endif */
|
|
658
|
+
|
|
560
659
|
void *yyalloc ( yy_size_t );
|
|
561
660
|
void *yyrealloc ( void *, yy_size_t );
|
|
562
661
|
void yyfree ( void * );
|
|
@@ -582,10 +681,13 @@ void yyfree ( void * );
|
|
|
582
681
|
}
|
|
583
682
|
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
|
|
584
683
|
|
|
684
|
+
/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
|
|
585
685
|
/* Begin user sect3 */
|
|
586
686
|
|
|
587
687
|
#define slice_wrap() (/*CONSTCOND*/1)
|
|
588
688
|
#define YY_SKIP_YYWRAP
|
|
689
|
+
|
|
690
|
+
#define FLEX_DEBUG
|
|
589
691
|
typedef flex_uint8_t YY_CHAR;
|
|
590
692
|
|
|
591
693
|
FILE *yyin = NULL, *yyout = NULL;
|
|
@@ -601,22 +703,32 @@ extern char *yytext;
|
|
|
601
703
|
#endif
|
|
602
704
|
#define yytext_ptr yytext
|
|
603
705
|
|
|
706
|
+
/* %% [1.5] DFA */
|
|
707
|
+
|
|
708
|
+
/* %if-c-only Standard (non-C++) definition */
|
|
709
|
+
|
|
604
710
|
static yy_state_type yy_get_previous_state ( void );
|
|
605
711
|
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
|
|
606
712
|
static int yy_get_next_buffer ( void );
|
|
607
713
|
static void yynoreturn yy_fatal_error ( const char* msg );
|
|
608
714
|
|
|
715
|
+
/* %endif */
|
|
716
|
+
|
|
609
717
|
/* Done after the current pattern has been matched and before the
|
|
610
718
|
* corresponding action - sets up yytext.
|
|
611
719
|
*/
|
|
612
720
|
#define YY_DO_BEFORE_ACTION \
|
|
613
721
|
(yytext_ptr) = yy_bp; \
|
|
614
|
-
|
|
722
|
+
/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
|
|
723
|
+
(yytext_ptr) -= (yy_more_len); \
|
|
724
|
+
yyleng = (int) (yy_cp - (yytext_ptr)); \
|
|
615
725
|
(yy_hold_char) = *yy_cp; \
|
|
616
726
|
*yy_cp = '\0'; \
|
|
727
|
+
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
|
|
617
728
|
(yy_c_buf_p) = yy_cp;
|
|
618
|
-
|
|
619
|
-
#define
|
|
729
|
+
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
|
|
730
|
+
#define YY_NUM_RULES 51
|
|
731
|
+
#define YY_END_OF_BUFFER 52
|
|
620
732
|
/* This struct is not used in this scanner,
|
|
621
733
|
but its presence is necessary. */
|
|
622
734
|
struct yy_trans_info
|
|
@@ -624,16 +736,32 @@ struct yy_trans_info
|
|
|
624
736
|
flex_int32_t yy_verify;
|
|
625
737
|
flex_int32_t yy_nxt;
|
|
626
738
|
};
|
|
627
|
-
static const
|
|
739
|
+
static const flex_int32_t yy_accept[220] =
|
|
628
740
|
{ 0,
|
|
629
|
-
0, 0, 0, 0, 0, 0,
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
741
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
742
|
+
0, 0, 0, 0, 52, 49, 45, 46, 45, 50,
|
|
743
|
+
1, 50, 50, 50, 19, 19, 50, 44, 35, 50,
|
|
744
|
+
49, 45, 45, 29, 26, 26, 27, 25, 26, 26,
|
|
745
|
+
26, 49, 33, 45, 34, 33, 33, 45, 29, 42,
|
|
746
|
+
39, 37, 38, 42, 40, 42, 29, 51, 15, 3,
|
|
747
|
+
3, 18, 3, 17, 3, 3, 45, 46, 0, 19,
|
|
748
|
+
19, 20, 24, 22, 20, 19, 0, 0, 0, 0,
|
|
749
|
+
43, 44, 0, 44, 0, 36, 44, 0, 45, 29,
|
|
750
|
+
29, 31, 0, 26, 26, 27, 28, 22, 26, 26,
|
|
751
|
+
|
|
752
|
+
26, 26, 26, 0, 33, 24, 22, 33, 31, 33,
|
|
753
|
+
42, 39, 24, 22, 41, 42, 31, 42, 3, 3,
|
|
754
|
+
3, 3, 16, 4, 5, 8, 6, 14, 2, 7,
|
|
755
|
+
13, 10, 3, 3, 3, 3, 3, 0, 20, 0,
|
|
756
|
+
22, 21, 0, 20, 19, 47, 0, 0, 22, 21,
|
|
757
|
+
26, 26, 48, 33, 22, 21, 33, 33, 42, 22,
|
|
758
|
+
21, 42, 42, 3, 3, 3, 8, 14, 14, 0,
|
|
759
|
+
13, 13, 9, 3, 3, 0, 20, 23, 21, 0,
|
|
760
|
+
0, 21, 26, 26, 23, 21, 33, 23, 21, 42,
|
|
761
|
+
3, 3, 8, 14, 2, 13, 9, 3, 0, 32,
|
|
762
|
+
|
|
763
|
+
30, 26, 26, 26, 30, 30, 14, 13, 3, 0,
|
|
764
|
+
26, 14, 11, 3, 14, 14, 14, 12, 0
|
|
637
765
|
} ;
|
|
638
766
|
|
|
639
767
|
static const YY_CHAR yy_ec[256] =
|
|
@@ -641,270 +769,568 @@ static const YY_CHAR yy_ec[256] =
|
|
|
641
769
|
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
|
|
642
770
|
4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
|
|
643
771
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
644
|
-
1,
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
772
|
+
1, 5, 6, 7, 8, 6, 6, 6, 9, 10,
|
|
773
|
+
6, 11, 12, 13, 14, 15, 16, 17, 18, 18,
|
|
774
|
+
18, 18, 18, 18, 18, 19, 19, 20, 6, 6,
|
|
775
|
+
6, 6, 21, 6, 22, 22, 22, 22, 23, 24,
|
|
776
|
+
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
|
|
777
|
+
25, 25, 25, 25, 26, 25, 25, 25, 25, 25,
|
|
778
|
+
27, 28, 29, 6, 30, 6, 31, 31, 22, 22,
|
|
779
|
+
|
|
780
|
+
32, 33, 25, 25, 34, 25, 25, 35, 25, 36,
|
|
781
|
+
25, 25, 25, 37, 25, 37, 38, 37, 25, 39,
|
|
782
|
+
25, 25, 6, 6, 6, 6, 40, 41, 41, 41,
|
|
783
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
784
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
785
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
786
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
787
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
788
|
+
41, 41, 41, 41, 41, 41, 42, 41, 41, 41,
|
|
789
|
+
43, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
790
|
+
|
|
791
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
792
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
793
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
794
|
+
41, 41, 41, 41, 41, 41, 41, 41, 44, 41,
|
|
795
|
+
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
|
|
796
|
+
41, 41, 41, 41, 41
|
|
669
797
|
} ;
|
|
670
798
|
|
|
671
|
-
static const YY_CHAR yy_meta[
|
|
799
|
+
static const YY_CHAR yy_meta[45] =
|
|
672
800
|
{ 0,
|
|
673
|
-
1, 2, 3,
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
801
|
+
1, 2, 3, 2, 2, 4, 5, 4, 4, 6,
|
|
802
|
+
7, 4, 8, 4, 4, 9, 10, 10, 10, 6,
|
|
803
|
+
4, 11, 11, 11, 12, 12, 4, 13, 8, 14,
|
|
804
|
+
11, 11, 11, 12, 12, 12, 12, 12, 12, 1,
|
|
805
|
+
4, 4, 4, 4
|
|
677
806
|
} ;
|
|
678
807
|
|
|
679
|
-
static const
|
|
808
|
+
static const flex_int32_t yy_base[252] =
|
|
680
809
|
{ 0,
|
|
681
|
-
0,
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
810
|
+
0, 43, 50, 65, 75, 90, 501, 55, 80, 123,
|
|
811
|
+
166, 209, 253, 293, 544, 1343, 45, 536, 54, 1343,
|
|
812
|
+
1343, 85, 70, 94, 319, 97, 513, 357, 496, 0,
|
|
813
|
+
480, 128, 133, 140, 0, 60, 518, 500, 97, 142,
|
|
814
|
+
146, 463, 0, 70, 1343, 106, 462, 172, 183, 0,
|
|
815
|
+
500, 1343, 1343, 107, 469, 451, 188, 1343, 1343, 150,
|
|
816
|
+
105, 1343, 187, 379, 222, 417, 182, 480, 143, 0,
|
|
817
|
+
214, 436, 465, 450, 0, 244, 222, 0, 435, 240,
|
|
818
|
+
1343, 468, 438, 0, 0, 1343, 0, 414, 266, 247,
|
|
819
|
+
270, 297, 417, 0, 192, 399, 1343, 167, 275, 305,
|
|
820
|
+
|
|
821
|
+
330, 301, 364, 347, 0, 361, 323, 321, 351, 320,
|
|
822
|
+
0, 327, 306, 495, 1343, 269, 361, 270, 339, 117,
|
|
823
|
+
217, 524, 1343, 1343, 1343, 191, 1343, 548, 250, 1343,
|
|
824
|
+
571, 0, 379, 609, 643, 409, 348, 425, 1343, 0,
|
|
825
|
+
0, 0, 267, 375, 0, 1343, 306, 237, 240, 224,
|
|
826
|
+
324, 184, 1343, 445, 399, 427, 0, 179, 677, 477,
|
|
827
|
+
505, 0, 168, 706, 473, 513, 230, 730, 0, 171,
|
|
828
|
+
753, 0, 0, 460, 353, 273, 518, 1343, 0, 185,
|
|
829
|
+
140, 155, 142, 124, 0, 436, 102, 0, 525, 79,
|
|
830
|
+
369, 614, 1343, 776, 69, 799, 1343, 487, 83, 1343,
|
|
831
|
+
|
|
832
|
+
138, 384, 0, 404, 418, 428, 822, 845, 490, 541,
|
|
833
|
+
615, 868, 1343, 620, 891, 914, 937, 1343, 1343, 976,
|
|
834
|
+
990, 1004, 1018, 1031, 1035, 1049, 1063, 1077, 1090, 1104,
|
|
835
|
+
1118, 335, 1132, 1146, 1160, 1174, 414, 1188, 1202, 1216,
|
|
836
|
+
1230, 1244, 1258, 1272, 1286, 1300, 59, 34, 435, 1314,
|
|
837
|
+
1328
|
|
690
838
|
} ;
|
|
691
839
|
|
|
692
|
-
static const
|
|
840
|
+
static const flex_int32_t yy_def[252] =
|
|
693
841
|
{ 0,
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
842
|
+
219, 1, 220, 220, 220, 220, 1, 1, 221, 221,
|
|
843
|
+
222, 222, 223, 223, 219, 219, 219, 219, 219, 219,
|
|
844
|
+
219, 219, 219, 219, 219, 219, 219, 224, 219, 225,
|
|
845
|
+
219, 219, 219, 219, 226, 226, 219, 219, 226, 226,
|
|
846
|
+
226, 219, 227, 219, 219, 227, 227, 219, 227, 228,
|
|
847
|
+
219, 219, 219, 228, 219, 228, 228, 219, 219, 229,
|
|
848
|
+
229, 219, 229, 230, 229, 229, 219, 219, 219, 25,
|
|
849
|
+
219, 219, 219, 231, 72, 219, 219, 232, 225, 219,
|
|
850
|
+
219, 224, 219, 82, 225, 219, 82, 219, 219, 219,
|
|
851
|
+
219, 219, 219, 226, 226, 219, 219, 233, 226, 226,
|
|
852
|
+
|
|
853
|
+
226, 226, 226, 219, 227, 227, 234, 227, 227, 227,
|
|
854
|
+
228, 219, 228, 235, 219, 228, 228, 228, 229, 229,
|
|
855
|
+
229, 236, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
856
|
+
219, 237, 229, 229, 229, 229, 229, 219, 219, 238,
|
|
857
|
+
231, 239, 219, 219, 232, 219, 219, 219, 233, 240,
|
|
858
|
+
226, 226, 219, 241, 234, 242, 227, 227, 243, 235,
|
|
859
|
+
244, 228, 228, 245, 236, 246, 219, 219, 247, 219,
|
|
860
|
+
219, 248, 249, 229, 229, 219, 219, 219, 239, 250,
|
|
861
|
+
219, 240, 251, 226, 227, 242, 227, 228, 244, 228,
|
|
862
|
+
229, 246, 219, 219, 219, 219, 219, 229, 250, 219,
|
|
863
|
+
|
|
864
|
+
219, 251, 226, 226, 227, 228, 219, 219, 229, 219,
|
|
865
|
+
226, 219, 219, 229, 219, 219, 219, 219, 0, 219,
|
|
866
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
867
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
868
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
869
|
+
219
|
|
703
870
|
} ;
|
|
704
871
|
|
|
705
|
-
static const
|
|
872
|
+
static const flex_int32_t yy_nxt[1388] =
|
|
706
873
|
{ 0,
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
39,
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
874
|
+
16, 17, 18, 17, 19, 20, 21, 20, 20, 20,
|
|
875
|
+
20, 22, 20, 22, 23, 24, 25, 26, 26, 27,
|
|
876
|
+
20, 28, 28, 28, 28, 28, 29, 30, 20, 28,
|
|
877
|
+
28, 28, 28, 28, 28, 28, 28, 28, 28, 20,
|
|
878
|
+
16, 16, 16, 31, 32, 172, 67, 33, 67, 67,
|
|
879
|
+
34, 36, 37, 36, 36, 67, 32, 67, 67, 33,
|
|
880
|
+
38, 95, 34, 95, 95, 39, 40, 37, 36, 40,
|
|
881
|
+
169, 67, 41, 67, 67, 38, 36, 37, 36, 36,
|
|
882
|
+
39, 44, 45, 44, 44, 38, 72, 72, 72, 200,
|
|
883
|
+
39, 40, 37, 36, 40, 46, 170, 41, 42, 69,
|
|
884
|
+
|
|
885
|
+
38, 70, 71, 71, 73, 39, 219, 73, 219, 74,
|
|
886
|
+
206, 75, 98, 71, 71, 71, 106, 113, 219, 77,
|
|
887
|
+
219, 107, 114, 47, 48, 45, 44, 48, 77, 89,
|
|
888
|
+
49, 67, 89, 205, 89, 90, 67, 89, 46, 210,
|
|
889
|
+
90, 91, 210, 99, 91, 95, 99, 101, 203, 100,
|
|
890
|
+
101, 67, 199, 67, 119, 204, 92, 92, 92, 72,
|
|
891
|
+
72, 72, 102, 102, 102, 179, 47, 44, 51, 44,
|
|
892
|
+
44, 201, 52, 89, 93, 67, 89, 141, 53, 90,
|
|
893
|
+
103, 54, 150, 67, 91, 67, 67, 91, 219, 91,
|
|
894
|
+
219, 200, 91, 95, 55, 95, 95, 121, 195, 109,
|
|
895
|
+
|
|
896
|
+
109, 109, 122, 190, 117, 117, 117, 167, 167, 56,
|
|
897
|
+
48, 51, 44, 48, 187, 52, 57, 110, 219, 184,
|
|
898
|
+
219, 53, 118, 89, 54, 67, 133, 164, 75, 134,
|
|
899
|
+
71, 71, 71, 143, 179, 143, 77, 55, 144, 144,
|
|
900
|
+
144, 80, 80, 80, 80, 77, 193, 193, 91, 81,
|
|
901
|
+
141, 91, 56, 58, 44, 59, 44, 60, 75, 62,
|
|
902
|
+
76, 76, 71, 92, 92, 92, 77, 89, 63, 67,
|
|
903
|
+
89, 91, 181, 90, 91, 77, 99, 170, 95, 99,
|
|
904
|
+
64, 93, 100, 144, 144, 144, 92, 92, 92, 177,
|
|
905
|
+
177, 177, 58, 58, 48, 59, 44, 65, 147, 62,
|
|
906
|
+
|
|
907
|
+
66, 147, 151, 163, 93, 151, 101, 147, 63, 101,
|
|
908
|
+
147, 162, 180, 92, 92, 92, 159, 102, 102, 102,
|
|
909
|
+
64, 102, 102, 102, 141, 151, 141, 141, 151, 112,
|
|
910
|
+
183, 101, 58, 75, 101, 76, 76, 71, 156, 103,
|
|
911
|
+
67, 77, 67, 119, 145, 145, 102, 102, 102, 219,
|
|
912
|
+
77, 219, 147, 158, 219, 147, 219, 78, 80, 80,
|
|
913
|
+
80, 80, 147, 157, 103, 147, 81, 109, 109, 109,
|
|
914
|
+
219, 154, 219, 82, 82, 82, 83, 117, 117, 117,
|
|
915
|
+
89, 175, 67, 133, 85, 124, 134, 125, 198, 153,
|
|
916
|
+
203, 144, 144, 144, 199, 126, 126, 152, 139, 127,
|
|
917
|
+
|
|
918
|
+
141, 96, 141, 141, 128, 211, 129, 139, 211, 130,
|
|
919
|
+
147, 130, 219, 174, 130, 130, 131, 132, 91, 210,
|
|
920
|
+
219, 135, 210, 173, 173, 136, 136, 136, 179, 210,
|
|
921
|
+
179, 179, 210, 136, 136, 136, 176, 179, 176, 179,
|
|
922
|
+
179, 177, 177, 177, 197, 197, 178, 178, 178, 178,
|
|
923
|
+
148, 137, 72, 72, 72, 105, 146, 79, 138, 139,
|
|
924
|
+
105, 147, 85, 219, 174, 142, 180, 138, 139, 80,
|
|
925
|
+
80, 80, 80, 141, 141, 140, 141, 81, 141, 141,
|
|
926
|
+
141, 141, 68, 141, 82, 82, 82, 83, 219, 141,
|
|
927
|
+
219, 210, 116, 219, 214, 85, 141, 115, 141, 141,
|
|
928
|
+
|
|
929
|
+
141, 141, 112, 108, 104, 141, 179, 141, 179, 179,
|
|
930
|
+
161, 179, 141, 179, 179, 97, 179, 179, 209, 179,
|
|
931
|
+
96, 88, 86, 141, 141, 141, 179, 141, 179, 179,
|
|
932
|
+
141, 179, 79, 179, 177, 177, 177, 179, 68, 166,
|
|
933
|
+
179, 139, 210, 219, 42, 210, 219, 219, 219, 219,
|
|
934
|
+
139, 141, 179, 179, 219, 219, 219, 92, 92, 92,
|
|
935
|
+
219, 219, 219, 141, 168, 168, 168, 219, 219, 168,
|
|
936
|
+
168, 168, 169, 169, 219, 219, 219, 219, 168, 168,
|
|
937
|
+
168, 169, 169, 169, 169, 169, 169, 171, 171, 171,
|
|
938
|
+
219, 219, 171, 171, 171, 172, 172, 219, 219, 219,
|
|
939
|
+
|
|
940
|
+
219, 171, 171, 171, 172, 172, 172, 172, 172, 172,
|
|
941
|
+
91, 219, 219, 135, 179, 179, 211, 179, 219, 211,
|
|
942
|
+
179, 210, 219, 219, 214, 136, 136, 136, 219, 219,
|
|
943
|
+
219, 102, 102, 102, 219, 219, 136, 136, 136, 219,
|
|
944
|
+
219, 179, 219, 137, 91, 219, 219, 135, 219, 219,
|
|
945
|
+
219, 219, 219, 179, 219, 219, 219, 219, 219, 136,
|
|
946
|
+
136, 136, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
947
|
+
219, 219, 219, 219, 219, 219, 219, 137, 178, 178,
|
|
948
|
+
178, 178, 219, 178, 219, 219, 219, 111, 219, 178,
|
|
949
|
+
219, 219, 111, 219, 219, 219, 219, 219, 219, 219,
|
|
950
|
+
|
|
951
|
+
219, 219, 219, 219, 219, 178, 178, 178, 178, 178,
|
|
952
|
+
219, 219, 178, 219, 219, 219, 120, 219, 219, 219,
|
|
953
|
+
219, 120, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
954
|
+
219, 219, 219, 178, 219, 219, 219, 219, 219, 219,
|
|
955
|
+
219, 219, 219, 219, 219, 178, 194, 194, 194, 219,
|
|
956
|
+
219, 194, 194, 194, 169, 169, 219, 219, 219, 219,
|
|
957
|
+
194, 194, 194, 169, 169, 169, 169, 169, 169, 196,
|
|
958
|
+
196, 196, 219, 219, 196, 196, 196, 172, 172, 219,
|
|
959
|
+
219, 219, 219, 196, 196, 196, 172, 172, 172, 172,
|
|
960
|
+
172, 172, 207, 207, 207, 219, 219, 207, 207, 207,
|
|
961
|
+
|
|
962
|
+
169, 169, 219, 219, 219, 219, 207, 207, 207, 169,
|
|
963
|
+
169, 169, 169, 169, 169, 208, 208, 208, 219, 219,
|
|
964
|
+
208, 208, 208, 172, 172, 219, 219, 219, 219, 208,
|
|
965
|
+
208, 208, 172, 172, 172, 172, 172, 172, 212, 212,
|
|
966
|
+
212, 219, 219, 212, 212, 212, 169, 169, 219, 219,
|
|
967
|
+
219, 219, 212, 212, 212, 169, 169, 169, 169, 169,
|
|
968
|
+
169, 213, 213, 213, 219, 219, 213, 213, 213, 172,
|
|
969
|
+
172, 219, 219, 219, 219, 213, 213, 213, 172, 172,
|
|
970
|
+
172, 172, 172, 172, 215, 215, 215, 219, 219, 215,
|
|
971
|
+
215, 215, 169, 169, 219, 219, 219, 219, 215, 215,
|
|
972
|
+
|
|
973
|
+
215, 169, 169, 169, 169, 169, 169, 216, 216, 216,
|
|
974
|
+
219, 219, 216, 216, 216, 169, 169, 219, 219, 219,
|
|
975
|
+
219, 216, 216, 216, 169, 169, 169, 169, 169, 169,
|
|
976
|
+
217, 217, 217, 219, 219, 217, 217, 217, 169, 169,
|
|
977
|
+
219, 219, 219, 219, 217, 217, 217, 169, 169, 169,
|
|
978
|
+
169, 169, 169, 218, 218, 218, 219, 219, 218, 218,
|
|
979
|
+
218, 169, 169, 219, 219, 219, 219, 218, 218, 218,
|
|
980
|
+
169, 169, 169, 169, 169, 169, 35, 35, 35, 35,
|
|
981
|
+
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
|
|
982
|
+
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
|
|
983
|
+
|
|
984
|
+
43, 43, 43, 43, 50, 50, 50, 50, 50, 50,
|
|
985
|
+
50, 50, 50, 50, 50, 50, 50, 50, 61, 61,
|
|
986
|
+
61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
|
|
987
|
+
61, 61, 84, 84, 219, 219, 84, 219, 219, 219,
|
|
988
|
+
84, 84, 84, 84, 84, 87, 87, 219, 87, 94,
|
|
989
|
+
94, 219, 94, 94, 94, 219, 94, 94, 94, 94,
|
|
990
|
+
94, 94, 94, 105, 219, 219, 105, 105, 105, 105,
|
|
991
|
+
105, 105, 105, 105, 105, 105, 105, 111, 219, 219,
|
|
992
|
+
111, 219, 111, 111, 219, 111, 111, 111, 111, 111,
|
|
993
|
+
111, 120, 219, 120, 219, 120, 120, 120, 120, 120,
|
|
994
|
+
|
|
995
|
+
120, 120, 219, 120, 123, 123, 219, 123, 123, 123,
|
|
996
|
+
123, 123, 123, 123, 123, 123, 123, 123, 141, 141,
|
|
997
|
+
219, 141, 141, 141, 141, 141, 141, 141, 141, 141,
|
|
998
|
+
141, 141, 149, 149, 219, 149, 149, 149, 149, 149,
|
|
999
|
+
149, 149, 149, 149, 149, 149, 155, 155, 219, 155,
|
|
1000
|
+
155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
|
|
1001
|
+
160, 160, 219, 160, 160, 160, 160, 160, 160, 160,
|
|
1002
|
+
160, 160, 160, 160, 165, 165, 219, 165, 165, 165,
|
|
1003
|
+
165, 165, 165, 165, 165, 165, 165, 165, 178, 178,
|
|
1004
|
+
178, 178, 178, 178, 219, 178, 219, 178, 178, 178,
|
|
1005
|
+
|
|
1006
|
+
178, 178, 179, 179, 219, 179, 179, 179, 179, 179,
|
|
1007
|
+
179, 179, 179, 179, 179, 179, 182, 182, 219, 182,
|
|
1008
|
+
182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
|
|
1009
|
+
185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
|
|
1010
|
+
185, 185, 185, 185, 186, 186, 219, 186, 186, 186,
|
|
1011
|
+
186, 186, 186, 186, 186, 186, 186, 186, 188, 188,
|
|
1012
|
+
188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
|
|
1013
|
+
188, 188, 189, 189, 219, 189, 189, 189, 189, 189,
|
|
1014
|
+
189, 189, 189, 189, 189, 189, 191, 191, 191, 191,
|
|
1015
|
+
191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
|
|
1016
|
+
|
|
1017
|
+
192, 192, 219, 192, 192, 192, 192, 192, 192, 192,
|
|
1018
|
+
192, 192, 192, 192, 199, 199, 219, 199, 199, 199,
|
|
1019
|
+
199, 199, 199, 199, 199, 199, 199, 199, 202, 202,
|
|
1020
|
+
219, 202, 202, 202, 202, 202, 202, 202, 202, 202,
|
|
1021
|
+
202, 202, 15, 219, 219, 219, 219, 219, 219, 219,
|
|
1022
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
1023
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
1024
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
1025
|
+
219, 219, 219, 219, 219, 219, 219
|
|
732
1026
|
} ;
|
|
733
1027
|
|
|
734
|
-
static const
|
|
1028
|
+
static const flex_int32_t yy_chk[1388] =
|
|
735
1029
|
{ 0,
|
|
736
1030
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
737
1031
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
738
1032
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
739
|
-
1,
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
1033
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1034
|
+
1, 1, 1, 1, 2, 248, 17, 2, 17, 17,
|
|
1035
|
+
2, 3, 3, 3, 3, 19, 8, 19, 19, 8,
|
|
1036
|
+
3, 36, 8, 36, 36, 3, 4, 4, 4, 4,
|
|
1037
|
+
247, 44, 4, 44, 44, 4, 5, 5, 5, 5,
|
|
1038
|
+
4, 9, 9, 9, 9, 5, 23, 23, 23, 199,
|
|
1039
|
+
5, 6, 6, 6, 6, 9, 195, 6, 8, 22,
|
|
1040
|
+
|
|
1041
|
+
6, 22, 22, 22, 24, 6, 61, 39, 61, 24,
|
|
1042
|
+
190, 26, 39, 26, 26, 26, 46, 54, 120, 26,
|
|
1043
|
+
120, 46, 54, 9, 10, 10, 10, 10, 26, 32,
|
|
1044
|
+
10, 32, 32, 187, 33, 32, 33, 33, 10, 201,
|
|
1045
|
+
33, 34, 201, 40, 34, 40, 40, 41, 183, 40,
|
|
1046
|
+
41, 60, 183, 60, 60, 184, 34, 34, 34, 69,
|
|
1047
|
+
69, 69, 41, 41, 41, 182, 10, 11, 11, 11,
|
|
1048
|
+
11, 181, 11, 48, 34, 48, 48, 98, 11, 48,
|
|
1049
|
+
41, 11, 98, 67, 49, 67, 67, 49, 63, 57,
|
|
1050
|
+
63, 180, 57, 95, 11, 95, 95, 63, 170, 49,
|
|
1051
|
+
|
|
1052
|
+
49, 49, 63, 163, 57, 57, 57, 126, 126, 11,
|
|
1053
|
+
12, 12, 12, 12, 158, 12, 12, 49, 121, 152,
|
|
1054
|
+
121, 12, 57, 65, 12, 65, 65, 121, 71, 65,
|
|
1055
|
+
71, 71, 71, 77, 150, 77, 71, 12, 77, 77,
|
|
1056
|
+
77, 80, 80, 80, 80, 71, 167, 167, 90, 80,
|
|
1057
|
+
149, 90, 12, 13, 13, 13, 13, 13, 76, 13,
|
|
1058
|
+
76, 76, 76, 90, 90, 90, 76, 89, 13, 89,
|
|
1059
|
+
89, 91, 148, 89, 91, 76, 99, 129, 99, 99,
|
|
1060
|
+
13, 90, 99, 143, 143, 143, 91, 91, 91, 176,
|
|
1061
|
+
176, 176, 13, 14, 14, 14, 14, 14, 92, 14,
|
|
1062
|
+
|
|
1063
|
+
14, 92, 102, 118, 91, 102, 100, 147, 14, 100,
|
|
1064
|
+
147, 116, 147, 92, 92, 92, 113, 102, 102, 102,
|
|
1065
|
+
14, 100, 100, 100, 107, 151, 107, 107, 151, 112,
|
|
1066
|
+
151, 101, 14, 25, 101, 25, 25, 25, 107, 100,
|
|
1067
|
+
119, 25, 119, 119, 232, 232, 101, 101, 101, 137,
|
|
1068
|
+
25, 137, 109, 110, 175, 109, 175, 25, 28, 28,
|
|
1069
|
+
28, 28, 117, 108, 101, 117, 28, 109, 109, 109,
|
|
1070
|
+
191, 106, 191, 28, 28, 28, 28, 117, 117, 117,
|
|
1071
|
+
133, 137, 133, 133, 28, 64, 133, 64, 175, 104,
|
|
1072
|
+
202, 144, 144, 144, 202, 64, 64, 103, 144, 64,
|
|
1073
|
+
|
|
1074
|
+
155, 96, 155, 155, 64, 204, 64, 144, 204, 64,
|
|
1075
|
+
136, 64, 136, 136, 64, 64, 64, 64, 66, 205,
|
|
1076
|
+
66, 66, 205, 237, 237, 136, 136, 136, 156, 206,
|
|
1077
|
+
156, 156, 206, 66, 66, 66, 138, 186, 138, 186,
|
|
1078
|
+
186, 138, 138, 138, 249, 249, 154, 154, 154, 154,
|
|
1079
|
+
93, 66, 72, 72, 72, 154, 88, 83, 72, 72,
|
|
1080
|
+
154, 174, 79, 174, 174, 74, 174, 72, 72, 82,
|
|
1081
|
+
82, 82, 82, 165, 165, 73, 165, 82, 160, 165,
|
|
1082
|
+
160, 160, 68, 160, 82, 82, 82, 82, 198, 160,
|
|
1083
|
+
198, 209, 56, 209, 209, 82, 114, 55, 114, 114,
|
|
1084
|
+
|
|
1085
|
+
165, 114, 51, 47, 42, 160, 161, 114, 161, 161,
|
|
1086
|
+
114, 161, 165, 166, 166, 38, 166, 161, 198, 166,
|
|
1087
|
+
37, 31, 29, 114, 122, 122, 189, 122, 189, 189,
|
|
1088
|
+
122, 189, 27, 161, 177, 177, 177, 189, 18, 122,
|
|
1089
|
+
166, 177, 210, 15, 7, 210, 0, 0, 0, 0,
|
|
1090
|
+
177, 122, 166, 189, 0, 0, 0, 210, 210, 210,
|
|
1091
|
+
0, 0, 0, 122, 128, 128, 128, 0, 0, 128,
|
|
1092
|
+
128, 128, 128, 128, 0, 0, 0, 0, 128, 128,
|
|
1093
|
+
128, 128, 128, 128, 128, 128, 128, 131, 131, 131,
|
|
1094
|
+
0, 0, 131, 131, 131, 131, 131, 0, 0, 0,
|
|
1095
|
+
|
|
1096
|
+
0, 131, 131, 131, 131, 131, 131, 131, 131, 131,
|
|
1097
|
+
134, 0, 134, 134, 192, 192, 211, 192, 0, 211,
|
|
1098
|
+
192, 214, 0, 214, 214, 134, 134, 134, 0, 0,
|
|
1099
|
+
0, 211, 211, 211, 0, 0, 214, 214, 214, 0,
|
|
1100
|
+
0, 192, 0, 134, 135, 0, 135, 135, 0, 0,
|
|
1101
|
+
0, 0, 0, 192, 0, 0, 0, 0, 0, 135,
|
|
1102
|
+
135, 135, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
1103
|
+
0, 0, 0, 0, 0, 0, 0, 135, 159, 159,
|
|
1104
|
+
159, 159, 0, 159, 0, 0, 0, 159, 0, 159,
|
|
1105
|
+
0, 0, 159, 0, 0, 0, 0, 0, 0, 0,
|
|
1106
|
+
|
|
1107
|
+
0, 0, 0, 0, 0, 159, 164, 164, 164, 164,
|
|
1108
|
+
0, 0, 164, 0, 0, 0, 164, 0, 0, 0,
|
|
1109
|
+
0, 164, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
1110
|
+
0, 0, 0, 164, 0, 0, 0, 0, 0, 0,
|
|
1111
|
+
0, 0, 0, 0, 0, 164, 168, 168, 168, 0,
|
|
1112
|
+
0, 168, 168, 168, 168, 168, 0, 0, 0, 0,
|
|
1113
|
+
168, 168, 168, 168, 168, 168, 168, 168, 168, 171,
|
|
1114
|
+
171, 171, 0, 0, 171, 171, 171, 171, 171, 0,
|
|
1115
|
+
0, 0, 0, 171, 171, 171, 171, 171, 171, 171,
|
|
1116
|
+
171, 171, 194, 194, 194, 0, 0, 194, 194, 194,
|
|
1117
|
+
|
|
1118
|
+
194, 194, 0, 0, 0, 0, 194, 194, 194, 194,
|
|
1119
|
+
194, 194, 194, 194, 194, 196, 196, 196, 0, 0,
|
|
1120
|
+
196, 196, 196, 196, 196, 0, 0, 0, 0, 196,
|
|
1121
|
+
196, 196, 196, 196, 196, 196, 196, 196, 207, 207,
|
|
1122
|
+
207, 0, 0, 207, 207, 207, 207, 207, 0, 0,
|
|
1123
|
+
0, 0, 207, 207, 207, 207, 207, 207, 207, 207,
|
|
1124
|
+
207, 208, 208, 208, 0, 0, 208, 208, 208, 208,
|
|
1125
|
+
208, 0, 0, 0, 0, 208, 208, 208, 208, 208,
|
|
1126
|
+
208, 208, 208, 208, 212, 212, 212, 0, 0, 212,
|
|
1127
|
+
212, 212, 212, 212, 0, 0, 0, 0, 212, 212,
|
|
1128
|
+
|
|
1129
|
+
212, 212, 212, 212, 212, 212, 212, 215, 215, 215,
|
|
1130
|
+
0, 0, 215, 215, 215, 215, 215, 0, 0, 0,
|
|
1131
|
+
0, 215, 215, 215, 215, 215, 215, 215, 215, 215,
|
|
1132
|
+
216, 216, 216, 0, 0, 216, 216, 216, 216, 216,
|
|
1133
|
+
0, 0, 0, 0, 216, 216, 216, 216, 216, 216,
|
|
1134
|
+
216, 216, 216, 217, 217, 217, 0, 0, 217, 217,
|
|
1135
|
+
217, 217, 217, 0, 0, 0, 0, 217, 217, 217,
|
|
1136
|
+
217, 217, 217, 217, 217, 217, 220, 220, 220, 220,
|
|
1137
|
+
220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
|
|
1138
|
+
221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
|
|
1139
|
+
|
|
1140
|
+
221, 221, 221, 221, 222, 222, 222, 222, 222, 222,
|
|
1141
|
+
222, 222, 222, 222, 222, 222, 222, 222, 223, 223,
|
|
1142
|
+
223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
|
|
1143
|
+
223, 223, 224, 224, 0, 0, 224, 0, 0, 0,
|
|
1144
|
+
224, 224, 224, 224, 224, 225, 225, 0, 225, 226,
|
|
1145
|
+
226, 0, 226, 226, 226, 0, 226, 226, 226, 226,
|
|
1146
|
+
226, 226, 226, 227, 0, 0, 227, 227, 227, 227,
|
|
1147
|
+
227, 227, 227, 227, 227, 227, 227, 228, 0, 0,
|
|
1148
|
+
228, 0, 228, 228, 0, 228, 228, 228, 228, 228,
|
|
1149
|
+
228, 229, 0, 229, 0, 229, 229, 229, 229, 229,
|
|
1150
|
+
|
|
1151
|
+
229, 229, 0, 229, 230, 230, 0, 230, 230, 230,
|
|
1152
|
+
230, 230, 230, 230, 230, 230, 230, 230, 231, 231,
|
|
1153
|
+
0, 231, 231, 231, 231, 231, 231, 231, 231, 231,
|
|
1154
|
+
231, 231, 233, 233, 0, 233, 233, 233, 233, 233,
|
|
1155
|
+
233, 233, 233, 233, 233, 233, 234, 234, 0, 234,
|
|
1156
|
+
234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
|
|
1157
|
+
235, 235, 0, 235, 235, 235, 235, 235, 235, 235,
|
|
1158
|
+
235, 235, 235, 235, 236, 236, 0, 236, 236, 236,
|
|
1159
|
+
236, 236, 236, 236, 236, 236, 236, 236, 238, 238,
|
|
1160
|
+
238, 238, 238, 238, 0, 238, 0, 238, 238, 238,
|
|
1161
|
+
|
|
1162
|
+
238, 238, 239, 239, 0, 239, 239, 239, 239, 239,
|
|
1163
|
+
239, 239, 239, 239, 239, 239, 240, 240, 0, 240,
|
|
1164
|
+
240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
|
1165
|
+
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
|
|
1166
|
+
241, 241, 241, 241, 242, 242, 0, 242, 242, 242,
|
|
1167
|
+
242, 242, 242, 242, 242, 242, 242, 242, 243, 243,
|
|
1168
|
+
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
|
|
1169
|
+
243, 243, 244, 244, 0, 244, 244, 244, 244, 244,
|
|
1170
|
+
244, 244, 244, 244, 244, 244, 245, 245, 245, 245,
|
|
1171
|
+
245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
|
|
1172
|
+
|
|
1173
|
+
246, 246, 0, 246, 246, 246, 246, 246, 246, 246,
|
|
1174
|
+
246, 246, 246, 246, 250, 250, 0, 250, 250, 250,
|
|
1175
|
+
250, 250, 250, 250, 250, 250, 250, 250, 251, 251,
|
|
1176
|
+
0, 251, 251, 251, 251, 251, 251, 251, 251, 251,
|
|
1177
|
+
251, 251, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
1178
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
1179
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
1180
|
+
219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
|
|
1181
|
+
219, 219, 219, 219, 219, 219, 219
|
|
761
1182
|
} ;
|
|
762
1183
|
|
|
763
1184
|
static yy_state_type yy_last_accepting_state;
|
|
764
1185
|
static char *yy_last_accepting_cpos;
|
|
765
1186
|
|
|
766
1187
|
extern int yy_flex_debug;
|
|
767
|
-
int yy_flex_debug =
|
|
1188
|
+
int yy_flex_debug = 1;
|
|
1189
|
+
|
|
1190
|
+
static const flex_int32_t yy_rule_linenum[51] =
|
|
1191
|
+
{ 0,
|
|
1192
|
+
130, 144, 145, 152, 153, 154, 161, 180, 193, 203,
|
|
1193
|
+
210, 211, 223, 224, 232, 243, 253, 261, 279, 302,
|
|
1194
|
+
330, 335, 339, 344, 350, 351, 356, 362, 387, 392,
|
|
1195
|
+
398, 399, 414, 419, 427, 432, 438, 448, 453, 457,
|
|
1196
|
+
462, 468, 481, 514, 524, 527, 541, 542, 548, 562
|
|
1197
|
+
} ;
|
|
768
1198
|
|
|
769
1199
|
/* The intent behind this definition is that it'll catch
|
|
770
1200
|
* any uses of REJECT which flex missed.
|
|
771
1201
|
*/
|
|
772
1202
|
#define REJECT reject_used_but_not_detected
|
|
773
|
-
|
|
774
|
-
|
|
1203
|
+
static int yy_more_flag = 0;
|
|
1204
|
+
static int yy_more_len = 0;
|
|
1205
|
+
#define yymore() ((yy_more_flag) = 1)
|
|
1206
|
+
#define YY_MORE_ADJ (yy_more_len)
|
|
775
1207
|
#define YY_RESTORE_YY_MORE_OFFSET
|
|
776
1208
|
char *yytext;
|
|
777
1209
|
#line 1 "src/Slice/Scanner.l"
|
|
778
|
-
#line 2 "src/Slice/Scanner.l"
|
|
779
|
-
|
|
780
|
-
//
|
|
781
|
-
// Copyright (c) ZeroC, Inc. All rights reserved.
|
|
782
|
-
//
|
|
783
|
-
|
|
784
|
-
#include <Slice/GrammarUtil.h> // Before Grammer.h, so that YYSTYPE is defined
|
|
785
|
-
#include <Slice/Grammar.h>
|
|
786
|
-
#include <IceUtil/InputUtil.h>
|
|
787
|
-
|
|
788
|
-
#include <iomanip>
|
|
789
|
-
|
|
790
|
-
#include <stdlib.h>
|
|
791
|
-
#include <math.h>
|
|
792
|
-
|
|
793
|
-
#if defined(_MSC_VER)
|
|
794
|
-
// '<' : signed/unsigned mismatch
|
|
795
|
-
# pragma warning(disable:4018)
|
|
796
|
-
// 'initializing' : conversion from '__int64' to 'int', possible loss of data
|
|
797
|
-
# pragma warning(disable:4244)
|
|
798
1210
|
|
|
799
|
-
#
|
|
800
|
-
//
|
|
801
|
-
// '=' : conversion from 'size_t' to 'int', possible loss of data
|
|
802
|
-
// The result of fread() is a size_t and gets inserted into an int
|
|
803
|
-
//
|
|
804
|
-
# pragma warning(disable:4267)
|
|
805
|
-
# endif
|
|
806
|
-
#endif
|
|
807
|
-
|
|
808
|
-
#if defined(__GNUC__)
|
|
809
|
-
# pragma GCC diagnostic ignored "-Wsign-compare"
|
|
810
|
-
#endif
|
|
811
|
-
|
|
812
|
-
//
|
|
813
|
-
// Avoid clang conversion warnings
|
|
814
|
-
//
|
|
815
|
-
#if defined(__clang__)
|
|
816
|
-
# pragma clang diagnostic ignored "-Wconversion"
|
|
817
|
-
# pragma clang diagnostic ignored "-Wsign-conversion"
|
|
818
|
-
#endif
|
|
1211
|
+
#line 17 "src/Slice/Scanner.l"
|
|
819
1212
|
|
|
820
|
-
#
|
|
821
|
-
#
|
|
822
|
-
# undef slice_wrap
|
|
823
|
-
# define slice_wrap() 1
|
|
824
|
-
# endif
|
|
825
|
-
# define YY_NO_UNISTD_H
|
|
826
|
-
#endif
|
|
1213
|
+
#include "GrammarUtil.h"
|
|
1214
|
+
#include "Grammar.h"
|
|
827
1215
|
|
|
828
|
-
#
|
|
829
|
-
#
|
|
830
|
-
#
|
|
831
|
-
# define slice_wrap() 1
|
|
832
|
-
# endif
|
|
833
|
-
# ifdef ICE_64
|
|
834
|
-
# pragma error_messages(off,truncwarn)
|
|
835
|
-
# endif
|
|
836
|
-
#endif
|
|
1216
|
+
#include <iostream>
|
|
1217
|
+
#include <cstdlib>
|
|
1218
|
+
#include <cmath>
|
|
837
1219
|
|
|
838
1220
|
using namespace std;
|
|
839
1221
|
using namespace Slice;
|
|
840
1222
|
|
|
841
1223
|
namespace Slice
|
|
842
1224
|
{
|
|
1225
|
+
// Definitions for the case-insensitive keyword-token map.
|
|
1226
|
+
using StringTokenMap = map<string, int>;
|
|
1227
|
+
StringTokenMap keywordMap;
|
|
843
1228
|
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
typedef std::map<std::string, int> StringTokenMap;
|
|
848
|
-
static StringTokenMap keywordMap;
|
|
1229
|
+
int checkKeyword(string& identifier);
|
|
1230
|
+
int checkIsScoped(const string& identifier);
|
|
1231
|
+
}
|
|
849
1232
|
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
int
|
|
1233
|
+
// Stores the scanner's current column position. Flex also automatically
|
|
1234
|
+
// generates 'yylineno', which stores the scanner's current line number.
|
|
1235
|
+
int yycolno = 0;
|
|
1236
|
+
// Stores a copy of the filename that the scanner is currently scanning.
|
|
1237
|
+
string yyfilename;
|
|
853
1238
|
|
|
1239
|
+
namespace
|
|
1240
|
+
{
|
|
1241
|
+
void nextLine(int count = 1);
|
|
1242
|
+
int scanPosition(const char* s);
|
|
1243
|
+
void setLocation(TokenContext* location);
|
|
1244
|
+
void startLocation(TokenContext* location);
|
|
1245
|
+
void endLocation(TokenContext* location);
|
|
1246
|
+
|
|
1247
|
+
void initScanner();
|
|
1248
|
+
void preAction();
|
|
1249
|
+
void pushState(int newState);
|
|
1250
|
+
void popState();
|
|
1251
|
+
|
|
1252
|
+
void yynoreturn fatalError(const char* msg);
|
|
854
1253
|
}
|
|
855
1254
|
|
|
1255
|
+
// Override some of the functions flex auto-generates with our own implementations.
|
|
856
1256
|
#define YY_USER_INIT initScanner();
|
|
1257
|
+
#define YY_USER_ACTION preAction();
|
|
1258
|
+
#define YY_FATAL_ERROR(msg) fatalError(msg);
|
|
1259
|
+
|
|
1260
|
+
#line 1260 "src/Slice/Scanner.cpp"
|
|
1261
|
+
#line 68 "src/Slice/Scanner.l"
|
|
1262
|
+
/* Changes the default prefix of 'yy' to 'slice_' for functions and variables in the generated code. */
|
|
1263
|
+
/* Instructs flex to not suppress any warnings when generating the scanner. */
|
|
1264
|
+
/* Instructs flex to generate a scanner that supports verbose outputting (debug mode). */
|
|
1265
|
+
/* By default flex will 'default match' any text it encounters that doesn't match any specified rules. This
|
|
1266
|
+
* option disables default-matching (it throws 'scanner jammed' instead) to make grammar holes more obvious. */
|
|
1267
|
+
/* Directs flex to generate a scanner tailored for use by bison, and that supports bison's token location mechanism.
|
|
1268
|
+
* These options change the signature of the main lexing function, which must match the one declared in Grammar.y */
|
|
1269
|
+
/* Enables the use of flex's built in start-condition state stack. */
|
|
1270
|
+
/* Ensures flex generates a scanner that supports reading 8-bit characters. */
|
|
1271
|
+
/* Directs flex to generate lookup tables that are better aligned in memory to
|
|
1272
|
+
* improve access speeds, even if this means allocating larger tables. */
|
|
1273
|
+
/* Enables batching for improved performance. */
|
|
1274
|
+
/* Directs flex to store matched text as 'char *' instead of char arrays, for improved performance. */
|
|
1275
|
+
/* Disables the scanner's interactive modes for improved performance. */
|
|
1276
|
+
/* Disables the generation of functions we don't use to reduce clutter, and possibly improve performance. */
|
|
1277
|
+
#define YY_NO_INPUT 1
|
|
1278
|
+
/* List of start-condition states the scanner can be in. This lets the scanning be context dependent. */
|
|
1279
|
+
|
|
857
1280
|
|
|
858
|
-
#line 857 "src/Slice/Scanner.cpp"
|
|
859
1281
|
|
|
860
|
-
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|
|
1285
|
+
/* The scanner also has a built in 'INITIAL' start-condition state, which is the state the scanner is initialized in.
|
|
1286
|
+
* We use it solely to check for and consume any BOMs at the start of files. See Bug 3140. */
|
|
1287
|
+
#line 1287 "src/Slice/Scanner.cpp"
|
|
861
1288
|
|
|
862
1289
|
#define INITIAL 0
|
|
863
|
-
#define
|
|
864
|
-
#define
|
|
1290
|
+
#define C_COMMENT 1
|
|
1291
|
+
#define C_DOC_COMMENT 2
|
|
1292
|
+
#define SLICE 3
|
|
1293
|
+
#define PREPROCESS 4
|
|
1294
|
+
#define METADATA 5
|
|
1295
|
+
#define STRING_LITERAL 6
|
|
865
1296
|
|
|
866
1297
|
#ifndef YY_NO_UNISTD_H
|
|
867
1298
|
/* Special case for "unistd.h", since it is non-ANSI. We include it way
|
|
868
1299
|
* down here because we want the user's section 1 to have been scanned first.
|
|
869
1300
|
* The user has a chance to override it with an option.
|
|
870
1301
|
*/
|
|
1302
|
+
/* %if-c-only */
|
|
871
1303
|
#include <unistd.h>
|
|
1304
|
+
/* %endif */
|
|
1305
|
+
/* %if-c++-only */
|
|
1306
|
+
/* %endif */
|
|
872
1307
|
#endif
|
|
873
1308
|
|
|
874
1309
|
#ifndef YY_EXTRA_TYPE
|
|
875
1310
|
#define YY_EXTRA_TYPE void *
|
|
876
1311
|
#endif
|
|
877
1312
|
|
|
1313
|
+
/* %if-c-only Reentrant structure and macros (non-C++). */
|
|
1314
|
+
/* %if-reentrant */
|
|
1315
|
+
/* %if-c-only */
|
|
1316
|
+
|
|
878
1317
|
static int yy_init_globals ( void );
|
|
879
1318
|
|
|
1319
|
+
/* %endif */
|
|
1320
|
+
/* %if-reentrant */
|
|
1321
|
+
/* %endif */
|
|
1322
|
+
/* %endif End reentrant structures and macros. */
|
|
1323
|
+
|
|
880
1324
|
/* Accessor methods to globals.
|
|
881
1325
|
These are made visible to non-reentrant scanners for convenience. */
|
|
882
1326
|
|
|
883
1327
|
int yylex_destroy ( void );
|
|
884
1328
|
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
void yyset_debug ( int debug_flag );
|
|
888
|
-
|
|
889
|
-
YY_EXTRA_TYPE yyget_extra ( void );
|
|
890
|
-
|
|
891
|
-
void yyset_extra ( YY_EXTRA_TYPE user_defined );
|
|
892
|
-
|
|
893
|
-
FILE *yyget_in ( void );
|
|
894
|
-
|
|
895
|
-
void yyset_in ( FILE * _in_str );
|
|
896
|
-
|
|
897
|
-
FILE *yyget_out ( void );
|
|
898
|
-
|
|
899
|
-
void yyset_out ( FILE * _out_str );
|
|
1329
|
+
/* %if-bison-bridge */
|
|
900
1330
|
|
|
901
|
-
|
|
1331
|
+
void yyset_lval ( YYSTYPE * yylval_param );
|
|
902
1332
|
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
int yyget_lineno ( void );
|
|
906
|
-
|
|
907
|
-
void yyset_lineno ( int _line_number );
|
|
1333
|
+
/* %endif */
|
|
908
1334
|
|
|
909
1335
|
/* Macros after this point can all be overridden by user definitions in
|
|
910
1336
|
* section 1.
|
|
@@ -918,11 +1344,13 @@ extern int yywrap ( void );
|
|
|
918
1344
|
#endif
|
|
919
1345
|
#endif
|
|
920
1346
|
|
|
1347
|
+
/* %not-for-header */
|
|
921
1348
|
#ifndef YY_NO_UNPUT
|
|
922
1349
|
|
|
923
|
-
static void yyunput ( int c, char *buf_ptr );
|
|
924
|
-
|
|
925
1350
|
#endif
|
|
1351
|
+
/* %ok-for-header */
|
|
1352
|
+
|
|
1353
|
+
/* %endif */
|
|
926
1354
|
|
|
927
1355
|
#ifndef yytext_ptr
|
|
928
1356
|
static void yy_flex_strncpy ( char *, const char *, int );
|
|
@@ -933,14 +1361,32 @@ static int yy_flex_strlen ( const char * );
|
|
|
933
1361
|
#endif
|
|
934
1362
|
|
|
935
1363
|
#ifndef YY_NO_INPUT
|
|
1364
|
+
/* %if-c-only Standard (non-C++) definition */
|
|
1365
|
+
/* %not-for-header */
|
|
936
1366
|
#ifdef __cplusplus
|
|
937
1367
|
static int yyinput ( void );
|
|
938
1368
|
#else
|
|
939
1369
|
static int input ( void );
|
|
940
1370
|
#endif
|
|
1371
|
+
/* %ok-for-header */
|
|
941
1372
|
|
|
1373
|
+
/* %endif */
|
|
942
1374
|
#endif
|
|
943
1375
|
|
|
1376
|
+
/* %if-c-only */
|
|
1377
|
+
|
|
1378
|
+
static int yy_start_stack_ptr = 0;
|
|
1379
|
+
static int yy_start_stack_depth = 0;
|
|
1380
|
+
static int *yy_start_stack = NULL;
|
|
1381
|
+
|
|
1382
|
+
static void yy_push_state ( int _new_state );
|
|
1383
|
+
|
|
1384
|
+
static void yy_pop_state ( void );
|
|
1385
|
+
|
|
1386
|
+
static int yy_top_state ( void );
|
|
1387
|
+
|
|
1388
|
+
/* %endif */
|
|
1389
|
+
|
|
944
1390
|
/* Amount of stuff to slurp up with each read. */
|
|
945
1391
|
#ifndef YY_READ_BUF_SIZE
|
|
946
1392
|
#ifdef __ia64__
|
|
@@ -953,10 +1399,14 @@ static int input ( void );
|
|
|
953
1399
|
|
|
954
1400
|
/* Copy whatever the last rule matched to the standard output. */
|
|
955
1401
|
#ifndef ECHO
|
|
1402
|
+
/* %if-c-only Standard (non-C++) definition */
|
|
956
1403
|
/* This used to be an fputs(), but since the string might contain NUL's,
|
|
957
1404
|
* we now use fwrite().
|
|
958
1405
|
*/
|
|
959
1406
|
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
|
|
1407
|
+
/* %endif */
|
|
1408
|
+
/* %if-c++-only C++ definition */
|
|
1409
|
+
/* %endif */
|
|
960
1410
|
#endif
|
|
961
1411
|
|
|
962
1412
|
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
|
|
@@ -964,6 +1414,7 @@ static int input ( void );
|
|
|
964
1414
|
*/
|
|
965
1415
|
#ifndef YY_INPUT
|
|
966
1416
|
#define YY_INPUT(buf,result,max_size) \
|
|
1417
|
+
/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
|
|
967
1418
|
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
|
|
968
1419
|
{ \
|
|
969
1420
|
int c = '*'; \
|
|
@@ -992,6 +1443,8 @@ static int input ( void );
|
|
|
992
1443
|
} \
|
|
993
1444
|
}\
|
|
994
1445
|
\
|
|
1446
|
+
/* %if-c++-only C++ definition \ */\
|
|
1447
|
+
/* %endif */
|
|
995
1448
|
|
|
996
1449
|
#endif
|
|
997
1450
|
|
|
@@ -1010,20 +1463,39 @@ static int input ( void );
|
|
|
1010
1463
|
|
|
1011
1464
|
/* Report a fatal error. */
|
|
1012
1465
|
#ifndef YY_FATAL_ERROR
|
|
1466
|
+
/* %if-c-only */
|
|
1013
1467
|
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
|
|
1468
|
+
/* %endif */
|
|
1469
|
+
/* %if-c++-only */
|
|
1470
|
+
/* %endif */
|
|
1014
1471
|
#endif
|
|
1015
1472
|
|
|
1473
|
+
/* %if-tables-serialization structures and prototypes */
|
|
1474
|
+
/* %not-for-header */
|
|
1475
|
+
/* %ok-for-header */
|
|
1476
|
+
|
|
1477
|
+
/* %not-for-header */
|
|
1478
|
+
/* %tables-yydmap generated elements */
|
|
1479
|
+
/* %endif */
|
|
1016
1480
|
/* end tables serialization structures and prototypes */
|
|
1017
1481
|
|
|
1482
|
+
/* %ok-for-header */
|
|
1483
|
+
|
|
1018
1484
|
/* Default declaration of generated scanner - a define so the user can
|
|
1019
1485
|
* easily add parameters.
|
|
1020
1486
|
*/
|
|
1021
1487
|
#ifndef YY_DECL
|
|
1022
1488
|
#define YY_DECL_IS_OURS 1
|
|
1489
|
+
/* %if-c-only Standard (non-C++) definition */
|
|
1023
1490
|
|
|
1024
|
-
extern int yylex
|
|
1491
|
+
extern int yylex \
|
|
1492
|
+
(YYSTYPE * yylval_param, YYLTYPE * yylloc_param );
|
|
1025
1493
|
|
|
1026
|
-
#define YY_DECL int yylex
|
|
1494
|
+
#define YY_DECL int yylex \
|
|
1495
|
+
(YYSTYPE * yylval_param, YYLTYPE * yylloc_param )
|
|
1496
|
+
/* %endif */
|
|
1497
|
+
/* %if-c++-only C++ definition */
|
|
1498
|
+
/* %endif */
|
|
1027
1499
|
#endif /* !YY_DECL */
|
|
1028
1500
|
|
|
1029
1501
|
/* Code executed at the beginning of each rule, after yytext and yyleng
|
|
@@ -1038,12 +1510,14 @@ extern int yylex (void);
|
|
|
1038
1510
|
#define YY_BREAK /*LINTED*/break;
|
|
1039
1511
|
#endif
|
|
1040
1512
|
|
|
1513
|
+
/* %% [6.0] YY_RULE_SETUP definition goes here */
|
|
1041
1514
|
#define YY_RULE_SETUP \
|
|
1042
1515
|
if ( yyleng > 0 ) \
|
|
1043
1516
|
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
|
|
1044
1517
|
(yytext[yyleng - 1] == '\n'); \
|
|
1045
1518
|
YY_USER_ACTION
|
|
1046
1519
|
|
|
1520
|
+
/* %not-for-header */
|
|
1047
1521
|
/** The main scanner function which does all the work.
|
|
1048
1522
|
*/
|
|
1049
1523
|
YY_DECL
|
|
@@ -1052,6 +1526,14 @@ YY_DECL
|
|
|
1052
1526
|
char *yy_cp, *yy_bp;
|
|
1053
1527
|
int yy_act;
|
|
1054
1528
|
|
|
1529
|
+
YYSTYPE * yylval;
|
|
1530
|
+
|
|
1531
|
+
YYLTYPE * yylloc;
|
|
1532
|
+
|
|
1533
|
+
yylval = yylval_param;
|
|
1534
|
+
|
|
1535
|
+
yylloc = yylloc_param;
|
|
1536
|
+
|
|
1055
1537
|
if ( !(yy_init) )
|
|
1056
1538
|
{
|
|
1057
1539
|
(yy_init) = 1;
|
|
@@ -1064,10 +1546,18 @@ YY_DECL
|
|
|
1064
1546
|
(yy_start) = 1; /* first start state */
|
|
1065
1547
|
|
|
1066
1548
|
if ( ! yyin )
|
|
1549
|
+
/* %if-c-only */
|
|
1067
1550
|
yyin = stdin;
|
|
1551
|
+
/* %endif */
|
|
1552
|
+
/* %if-c++-only */
|
|
1553
|
+
/* %endif */
|
|
1068
1554
|
|
|
1069
1555
|
if ( ! yyout )
|
|
1556
|
+
/* %if-c-only */
|
|
1070
1557
|
yyout = stdout;
|
|
1558
|
+
/* %endif */
|
|
1559
|
+
/* %if-c++-only */
|
|
1560
|
+
/* %endif */
|
|
1071
1561
|
|
|
1072
1562
|
if ( ! YY_CURRENT_BUFFER ) {
|
|
1073
1563
|
yyensure_buffer_stack ();
|
|
@@ -1079,13 +1569,23 @@ YY_DECL
|
|
|
1079
1569
|
}
|
|
1080
1570
|
|
|
1081
1571
|
{
|
|
1082
|
-
|
|
1572
|
+
/* %% [7.0] user's declarations go here */
|
|
1573
|
+
#line 126 "src/Slice/Scanner.l"
|
|
1083
1574
|
|
|
1084
1575
|
|
|
1085
|
-
|
|
1576
|
+
/* ========== Literals ========== */
|
|
1577
|
+
/* Matches the start of a double-quoted string literal. */
|
|
1578
|
+
#line 1578 "src/Slice/Scanner.cpp"
|
|
1086
1579
|
|
|
1087
1580
|
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
|
1088
1581
|
{
|
|
1582
|
+
/* %% [8.0] yymore()-related code goes here */
|
|
1583
|
+
(yy_more_len) = 0;
|
|
1584
|
+
if ( (yy_more_flag) )
|
|
1585
|
+
{
|
|
1586
|
+
(yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
|
|
1587
|
+
(yy_more_flag) = 0;
|
|
1588
|
+
}
|
|
1089
1589
|
yy_cp = (yy_c_buf_p);
|
|
1090
1590
|
|
|
1091
1591
|
/* Support of yytext. */
|
|
@@ -1096,6 +1596,7 @@ YY_DECL
|
|
|
1096
1596
|
*/
|
|
1097
1597
|
yy_bp = yy_cp;
|
|
1098
1598
|
|
|
1599
|
+
/* %% [9.0] code to set up and find next match goes here */
|
|
1099
1600
|
yy_current_state = (yy_start);
|
|
1100
1601
|
yy_current_state += YY_AT_BOL();
|
|
1101
1602
|
yy_match:
|
|
@@ -1110,25 +1611,46 @@ yy_match:
|
|
|
1110
1611
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1111
1612
|
{
|
|
1112
1613
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1113
|
-
if ( yy_current_state >=
|
|
1614
|
+
if ( yy_current_state >= 220 )
|
|
1114
1615
|
yy_c = yy_meta[yy_c];
|
|
1115
1616
|
}
|
|
1116
1617
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
1117
1618
|
++yy_cp;
|
|
1118
1619
|
}
|
|
1119
|
-
while ( yy_current_state !=
|
|
1620
|
+
while ( yy_current_state != 219 );
|
|
1120
1621
|
yy_cp = (yy_last_accepting_cpos);
|
|
1121
1622
|
yy_current_state = (yy_last_accepting_state);
|
|
1122
1623
|
|
|
1123
1624
|
yy_find_action:
|
|
1625
|
+
/* %% [10.0] code to find the action number goes here */
|
|
1124
1626
|
yy_act = yy_accept[yy_current_state];
|
|
1125
1627
|
|
|
1126
1628
|
YY_DO_BEFORE_ACTION;
|
|
1127
1629
|
|
|
1630
|
+
/* %% [11.0] code for yylineno update goes here */
|
|
1631
|
+
|
|
1128
1632
|
do_action: /* This label is used only to access EOF actions. */
|
|
1129
1633
|
|
|
1634
|
+
/* %% [12.0] debug code goes here */
|
|
1635
|
+
if ( yy_flex_debug )
|
|
1636
|
+
{
|
|
1637
|
+
if ( yy_act == 0 )
|
|
1638
|
+
fprintf( stderr, "--scanner backing up\n" );
|
|
1639
|
+
else if ( yy_act < 51 )
|
|
1640
|
+
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
|
|
1641
|
+
(long)yy_rule_linenum[yy_act], yytext );
|
|
1642
|
+
else if ( yy_act == 51 )
|
|
1643
|
+
fprintf( stderr, "--accepting default rule (\"%s\")\n",
|
|
1644
|
+
yytext );
|
|
1645
|
+
else if ( yy_act == 52 )
|
|
1646
|
+
fprintf( stderr, "--(end of buffer or a NUL)\n" );
|
|
1647
|
+
else
|
|
1648
|
+
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1130
1651
|
switch ( yy_act )
|
|
1131
1652
|
{ /* beginning of action switch */
|
|
1653
|
+
/* %% [13.0] actions go here */
|
|
1132
1654
|
case 0: /* must back up */
|
|
1133
1655
|
/* undo the effects of YY_DO_BEFORE_ACTION */
|
|
1134
1656
|
*yy_cp = (yy_hold_char);
|
|
@@ -1137,518 +1659,599 @@ do_action: /* This label is used only to access EOF actions. */
|
|
|
1137
1659
|
goto yy_find_action;
|
|
1138
1660
|
|
|
1139
1661
|
case 1:
|
|
1140
|
-
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
|
|
1141
|
-
(yy_c_buf_p) = yy_cp -= 1;
|
|
1142
|
-
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1143
1662
|
YY_RULE_SETUP
|
|
1144
|
-
#line
|
|
1663
|
+
#line 130 "src/Slice/Scanner.l"
|
|
1145
1664
|
{
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1665
|
+
pushState(STRING_LITERAL);
|
|
1666
|
+
startLocation(yylloc);
|
|
1667
|
+
|
|
1668
|
+
StringTokPtr str = make_shared<StringTok>();
|
|
1669
|
+
str->literal = "\"";
|
|
1670
|
+
*yylval = str;
|
|
1150
1671
|
}
|
|
1151
1672
|
YY_BREAK
|
|
1673
|
+
/* Matches a single escaped backslash, or as many characters as it can,
|
|
1674
|
+
* except backslashes, new-lines, double quotes, and non-printable ASCII characters. */
|
|
1675
|
+
/* Matches Escaped backslashes and any other valid string characters. Invalid characters are
|
|
1676
|
+
* new-lines, non-printable ASCII characters, and double-quotes. */
|
|
1152
1677
|
case 2:
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
YY_LINENO_REWIND_TO(yy_cp - 1);
|
|
1156
|
-
(yy_c_buf_p) = yy_cp -= 1;
|
|
1157
|
-
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1678
|
+
#line 145 "src/Slice/Scanner.l"
|
|
1679
|
+
case 3:
|
|
1158
1680
|
YY_RULE_SETUP
|
|
1159
|
-
#line
|
|
1681
|
+
#line 145 "src/Slice/Scanner.l"
|
|
1160
1682
|
{
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
}
|
|
1683
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1684
|
+
str->literal += yytext;
|
|
1685
|
+
str->v += yytext;
|
|
1165
1686
|
}
|
|
1166
1687
|
YY_BREAK
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1688
|
+
/* Matches an escaped double-quote, single-quote, or question mark. */
|
|
1689
|
+
case 4:
|
|
1690
|
+
#line 153 "src/Slice/Scanner.l"
|
|
1691
|
+
case 5:
|
|
1692
|
+
#line 154 "src/Slice/Scanner.l"
|
|
1693
|
+
case 6:
|
|
1171
1694
|
YY_RULE_SETUP
|
|
1172
|
-
#line
|
|
1695
|
+
#line 154 "src/Slice/Scanner.l"
|
|
1173
1696
|
{
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
}
|
|
1697
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1698
|
+
str->literal += yytext;
|
|
1699
|
+
str->v += yytext[1];
|
|
1178
1700
|
}
|
|
1179
1701
|
YY_BREAK
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
|
|
1183
|
-
YY_LINENO_REWIND_TO(yy_cp - 1);
|
|
1184
|
-
(yy_c_buf_p) = yy_cp -= 1;
|
|
1185
|
-
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1702
|
+
/* Matches an ANSI-C escape code pattern. */
|
|
1703
|
+
case 7:
|
|
1186
1704
|
YY_RULE_SETUP
|
|
1187
|
-
#line
|
|
1705
|
+
#line 161 "src/Slice/Scanner.l"
|
|
1188
1706
|
{
|
|
1189
|
-
|
|
1707
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1708
|
+
char ansiCode;
|
|
1709
|
+
switch(yytext[1])
|
|
1190
1710
|
{
|
|
1191
|
-
|
|
1711
|
+
case 'a': ansiCode = '\a'; break;
|
|
1712
|
+
case 'b': ansiCode = '\b'; break;
|
|
1713
|
+
case 'f': ansiCode = '\f'; break;
|
|
1714
|
+
case 'n': ansiCode = '\n'; break;
|
|
1715
|
+
case 'r': ansiCode = '\r'; break;
|
|
1716
|
+
case 't': ansiCode = '\t'; break;
|
|
1717
|
+
case 'v': ansiCode = '\v'; break;
|
|
1718
|
+
default: ansiCode = '\0'; assert(false);
|
|
1192
1719
|
}
|
|
1720
|
+
str->literal += yytext;
|
|
1721
|
+
str->v += ansiCode;
|
|
1193
1722
|
}
|
|
1194
1723
|
YY_BREAK
|
|
1195
|
-
|
|
1724
|
+
/* Matches an escaped octal value. Octal literals are limited to a max of 3 digits. */
|
|
1725
|
+
case 8:
|
|
1196
1726
|
YY_RULE_SETUP
|
|
1197
|
-
#line
|
|
1727
|
+
#line 180 "src/Slice/Scanner.l"
|
|
1198
1728
|
{
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
int c;
|
|
1202
|
-
do
|
|
1729
|
+
int64_t value = std::stoll((yytext + 1), nullptr, 8);
|
|
1730
|
+
if (value > 255)
|
|
1203
1731
|
{
|
|
1204
|
-
|
|
1205
|
-
if(c == '\n')
|
|
1206
|
-
{
|
|
1207
|
-
unit->nextLine();
|
|
1208
|
-
}
|
|
1732
|
+
currentUnit->error("octal escape sequence out of range: '\\" + string(yytext + 1) + "'");
|
|
1209
1733
|
}
|
|
1210
|
-
|
|
1734
|
+
|
|
1735
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1736
|
+
str->literal += yytext;
|
|
1737
|
+
str->v += static_cast<char>(value);
|
|
1211
1738
|
}
|
|
1212
1739
|
YY_BREAK
|
|
1213
|
-
|
|
1740
|
+
/* Matches an escaped hexadecimal value. Hexadecimal literals are limited to a max of 2 digits. */
|
|
1741
|
+
case 9:
|
|
1214
1742
|
YY_RULE_SETUP
|
|
1215
|
-
#line
|
|
1743
|
+
#line 193 "src/Slice/Scanner.l"
|
|
1216
1744
|
{
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
if(c == '\n')
|
|
1224
|
-
{
|
|
1225
|
-
comment += static_cast<char>(c);
|
|
1226
|
-
unit->nextLine();
|
|
1227
|
-
}
|
|
1228
|
-
else if(c == '*')
|
|
1229
|
-
{
|
|
1230
|
-
int next = yyinput();
|
|
1231
|
-
if(next == '/')
|
|
1232
|
-
{
|
|
1233
|
-
break;
|
|
1234
|
-
}
|
|
1235
|
-
else
|
|
1236
|
-
{
|
|
1237
|
-
comment += static_cast<char>(c);
|
|
1238
|
-
unput(next);
|
|
1239
|
-
}
|
|
1240
|
-
}
|
|
1241
|
-
else if(c == EOF)
|
|
1242
|
-
{
|
|
1243
|
-
unit->warning(All, "EOF in comment");
|
|
1244
|
-
break;
|
|
1245
|
-
}
|
|
1246
|
-
else
|
|
1247
|
-
{
|
|
1248
|
-
comment += static_cast<char>(c);
|
|
1249
|
-
}
|
|
1250
|
-
}
|
|
1251
|
-
if(!comment.empty() && comment[0] == '*')
|
|
1252
|
-
{
|
|
1253
|
-
unit->setComment(comment);
|
|
1254
|
-
}
|
|
1745
|
+
int64_t value = std::stoll((yytext + 2), nullptr, 16);
|
|
1746
|
+
assert(value <= 255);
|
|
1747
|
+
|
|
1748
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1749
|
+
str->literal += yytext;
|
|
1750
|
+
str->v += static_cast<char>(value);
|
|
1255
1751
|
}
|
|
1256
1752
|
YY_BREAK
|
|
1257
|
-
|
|
1753
|
+
/* Matches an empty hexadecimal escape value. */
|
|
1754
|
+
case 10:
|
|
1258
1755
|
YY_RULE_SETUP
|
|
1259
|
-
#line
|
|
1756
|
+
#line 203 "src/Slice/Scanner.l"
|
|
1260
1757
|
{
|
|
1261
|
-
|
|
1262
|
-
|
|
1758
|
+
currentUnit->error("no hex digit in hex escape sequence");
|
|
1759
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1760
|
+
str->literal += yytext;
|
|
1263
1761
|
}
|
|
1264
1762
|
YY_BREAK
|
|
1265
|
-
|
|
1763
|
+
/* Matches a 4-char or 8-char size universal character code. */
|
|
1764
|
+
case 11:
|
|
1765
|
+
#line 211 "src/Slice/Scanner.l"
|
|
1766
|
+
case 12:
|
|
1266
1767
|
YY_RULE_SETUP
|
|
1267
|
-
#line
|
|
1768
|
+
#line 211 "src/Slice/Scanner.l"
|
|
1268
1769
|
{
|
|
1269
|
-
|
|
1270
|
-
|
|
1770
|
+
int64_t codePoint = std::stoll((yytext + 2), nullptr, 16);
|
|
1771
|
+
if (codePoint <= 0xdfff && codePoint >= 0xd800)
|
|
1772
|
+
{
|
|
1773
|
+
currentUnit->error("a universal character name cannot designate a surrogate: '" + string(yytext) + "'");
|
|
1774
|
+
}
|
|
1775
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1776
|
+
str->literal += yytext;
|
|
1777
|
+
str->v += yytext;
|
|
1271
1778
|
}
|
|
1272
1779
|
YY_BREAK
|
|
1273
|
-
|
|
1780
|
+
/* Matches a universal character code that isn't the correct size, or uses incorrect characters. */
|
|
1781
|
+
case 13:
|
|
1782
|
+
#line 224 "src/Slice/Scanner.l"
|
|
1783
|
+
case 14:
|
|
1274
1784
|
YY_RULE_SETUP
|
|
1275
|
-
#line
|
|
1785
|
+
#line 224 "src/Slice/Scanner.l"
|
|
1276
1786
|
{
|
|
1277
|
-
|
|
1278
|
-
|
|
1787
|
+
currentUnit->error("unknown escape sequence in string literal: '" + string(yytext) + "'");
|
|
1788
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1789
|
+
str->literal += yytext;
|
|
1790
|
+
str->v += yytext;
|
|
1279
1791
|
}
|
|
1280
1792
|
YY_BREAK
|
|
1281
|
-
|
|
1793
|
+
/* Matches an unescaped newline in a string literal, and issues an error. */
|
|
1794
|
+
case 15:
|
|
1795
|
+
/* rule 15 can match eol */
|
|
1282
1796
|
YY_RULE_SETUP
|
|
1283
|
-
#line
|
|
1797
|
+
#line 232 "src/Slice/Scanner.l"
|
|
1284
1798
|
{
|
|
1285
|
-
|
|
1286
|
-
|
|
1799
|
+
popState();
|
|
1800
|
+
endLocation(yylloc);
|
|
1801
|
+
nextLine();
|
|
1802
|
+
|
|
1803
|
+
currentUnit->error("encountered un-escaped EOL while scanning a string literal.");
|
|
1804
|
+
return ICE_STRING_LITERAL;
|
|
1287
1805
|
}
|
|
1288
1806
|
YY_BREAK
|
|
1289
|
-
|
|
1290
|
-
|
|
1807
|
+
/* Matches an unknown escape value. This rule has a lower priority than all the other escape rules because
|
|
1808
|
+
* it only matches 2 characters (the lowest any match), and it's beneath the others. */
|
|
1809
|
+
case 16:
|
|
1291
1810
|
YY_RULE_SETUP
|
|
1292
|
-
#line
|
|
1811
|
+
#line 243 "src/Slice/Scanner.l"
|
|
1293
1812
|
{
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
{
|
|
1301
|
-
if(checkIdentifier(ident->v) == ICE_SCOPED_IDENTIFIER)
|
|
1302
|
-
{
|
|
1303
|
-
unit->error("Operation identifiers cannot be scoped: `" + (ident->v) + "'");
|
|
1304
|
-
}
|
|
1305
|
-
return ICE_IDENT_OP;
|
|
1306
|
-
}
|
|
1307
|
-
int st = checkKeyword(ident->v);
|
|
1308
|
-
if(st == ICE_IDENTIFIER)
|
|
1309
|
-
{
|
|
1310
|
-
return ICE_IDENT_OP;
|
|
1311
|
-
}
|
|
1312
|
-
else if(st == ICE_SCOPED_IDENTIFIER)
|
|
1313
|
-
{
|
|
1314
|
-
unit->error("Operation identifiers cannot be scoped: `" + (ident->v) + "'");
|
|
1315
|
-
return ICE_IDENT_OP;
|
|
1316
|
-
}
|
|
1317
|
-
else if(st == ICE_OPTIONAL)
|
|
1318
|
-
{
|
|
1319
|
-
return ICE_OPTIONAL_OP;
|
|
1320
|
-
}
|
|
1321
|
-
else
|
|
1322
|
-
{
|
|
1323
|
-
return ICE_KEYWORD_OP;
|
|
1324
|
-
}
|
|
1813
|
+
currentUnit->warning(All, "unknown escape sequence in string literal: '" + string{yytext} + "'");
|
|
1814
|
+
|
|
1815
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1816
|
+
// Escape the entire sequence.
|
|
1817
|
+
str->literal += yytext;
|
|
1818
|
+
str->v += "\\" + string(yytext);
|
|
1325
1819
|
}
|
|
1326
1820
|
YY_BREAK
|
|
1327
|
-
|
|
1821
|
+
/* Matches a dangling backslash, with nothing to escape. This rule is mostly included for grammar completeness. */
|
|
1822
|
+
case 17:
|
|
1328
1823
|
YY_RULE_SETUP
|
|
1329
|
-
#line
|
|
1824
|
+
#line 253 "src/Slice/Scanner.l"
|
|
1330
1825
|
{
|
|
1331
|
-
|
|
1332
|
-
StringTokPtr
|
|
1333
|
-
|
|
1334
|
-
*yylvalp = ident;
|
|
1335
|
-
return *yytext == '\\' ? checkIdentifier(ident->v) : checkKeyword(ident->v);
|
|
1826
|
+
currentUnit->warning(All, "dangling backslash in string literal");
|
|
1827
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1828
|
+
str->literal += yytext;
|
|
1336
1829
|
}
|
|
1337
1830
|
YY_BREAK
|
|
1338
|
-
|
|
1831
|
+
/* Matches the end of a double-quoted string literal, but only while scanning a string literal. Flex always prefers
|
|
1832
|
+
* to match the longest string it can, so quotes preceeded with a literal '\' will match the rules above this one. */
|
|
1833
|
+
case 18:
|
|
1339
1834
|
YY_RULE_SETUP
|
|
1340
|
-
#line
|
|
1835
|
+
#line 261 "src/Slice/Scanner.l"
|
|
1341
1836
|
{
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
str->literal = "\"";
|
|
1345
|
-
while(true)
|
|
1346
|
-
{
|
|
1347
|
-
int c = yyinput();
|
|
1348
|
-
str->literal += static_cast<char>(c);
|
|
1349
|
-
if(c == '"')
|
|
1350
|
-
{
|
|
1351
|
-
break;
|
|
1352
|
-
}
|
|
1353
|
-
else if(c == EOF)
|
|
1354
|
-
{
|
|
1355
|
-
unit->error("EOF in string");
|
|
1356
|
-
break;
|
|
1357
|
-
}
|
|
1358
|
-
else if(c < 32 || c == 127)
|
|
1359
|
-
{
|
|
1360
|
-
unit->error("a string literal can only contain printable ASCII characters and non-ASCII characters");
|
|
1361
|
-
break;
|
|
1362
|
-
}
|
|
1363
|
-
else if(c == '\\')
|
|
1364
|
-
{
|
|
1365
|
-
int next = yyinput();
|
|
1366
|
-
str->literal += static_cast<char>(next);
|
|
1367
|
-
switch(next)
|
|
1368
|
-
{
|
|
1369
|
-
case '\\':
|
|
1370
|
-
{
|
|
1371
|
-
//
|
|
1372
|
-
// add extra escape to our internal string
|
|
1373
|
-
//
|
|
1374
|
-
str->v += '\\';
|
|
1375
|
-
str->v += '\\';
|
|
1376
|
-
break;
|
|
1377
|
-
}
|
|
1378
|
-
case '"':
|
|
1379
|
-
case '\'':
|
|
1380
|
-
case '?':
|
|
1381
|
-
{
|
|
1382
|
-
str->v += static_cast<char>(next);
|
|
1383
|
-
break;
|
|
1384
|
-
}
|
|
1385
|
-
case 'a':
|
|
1386
|
-
{
|
|
1387
|
-
str->v += '\a';
|
|
1388
|
-
break;
|
|
1389
|
-
}
|
|
1390
|
-
case 'b':
|
|
1391
|
-
{
|
|
1392
|
-
str->v += '\b';
|
|
1393
|
-
break;
|
|
1394
|
-
}
|
|
1395
|
-
case 'f':
|
|
1396
|
-
{
|
|
1397
|
-
str->v += '\f';
|
|
1398
|
-
break;
|
|
1399
|
-
}
|
|
1400
|
-
case 'n':
|
|
1401
|
-
{
|
|
1402
|
-
str->v += '\n';
|
|
1403
|
-
break;
|
|
1404
|
-
}
|
|
1405
|
-
case 'r':
|
|
1406
|
-
{
|
|
1407
|
-
str->v += '\r';
|
|
1408
|
-
break;
|
|
1409
|
-
}
|
|
1410
|
-
case 't':
|
|
1411
|
-
{
|
|
1412
|
-
str->v += '\t';
|
|
1413
|
-
break;
|
|
1414
|
-
}
|
|
1415
|
-
case 'v':
|
|
1416
|
-
{
|
|
1417
|
-
str->v += '\v';
|
|
1418
|
-
break;
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
//
|
|
1422
|
-
// Octal value \nnn limited to three octal digits but terminate at the first character
|
|
1423
|
-
// that is not a valid octal digit if encountered sooner.
|
|
1424
|
-
//
|
|
1425
|
-
case '0':
|
|
1426
|
-
case '1':
|
|
1427
|
-
case '2':
|
|
1428
|
-
case '3':
|
|
1429
|
-
case '4':
|
|
1430
|
-
case '5':
|
|
1431
|
-
case '6':
|
|
1432
|
-
case '7':
|
|
1433
|
-
{
|
|
1434
|
-
static string octalDigits = "01234567";
|
|
1435
|
-
string escape;
|
|
1436
|
-
escape += static_cast<char>(next);
|
|
1437
|
-
for(int i = 0; i < 2; ++i)
|
|
1438
|
-
{
|
|
1439
|
-
next = yyinput();
|
|
1440
|
-
if(octalDigits.find_first_of(static_cast<char>(next)) == string::npos)
|
|
1441
|
-
{
|
|
1442
|
-
unput(next);
|
|
1443
|
-
break;
|
|
1444
|
-
}
|
|
1445
|
-
escape += static_cast<char>(next);
|
|
1446
|
-
}
|
|
1447
|
-
str->literal += escape;
|
|
1448
|
-
IceUtil::Int64 value = IceUtilInternal::strToInt64(escape.c_str(), 0, 8);
|
|
1449
|
-
if(value > 255)
|
|
1450
|
-
{
|
|
1451
|
-
unit->error(string("octal escape sequence out of range: `\\") + escape + "'");
|
|
1452
|
-
}
|
|
1453
|
-
str->v += static_cast<char>(value);
|
|
1454
|
-
break;
|
|
1455
|
-
}
|
|
1456
|
-
|
|
1457
|
-
case 'x':
|
|
1458
|
-
{
|
|
1459
|
-
string escape = "";
|
|
1460
|
-
next = yyinput();
|
|
1461
|
-
|
|
1462
|
-
//
|
|
1463
|
-
// Unlike C++, we limit hex escape sequences to 2 hex digits
|
|
1464
|
-
//
|
|
1465
|
-
while(isxdigit(static_cast<char>(next)) && escape.length() < 2)
|
|
1466
|
-
{
|
|
1467
|
-
escape += static_cast<char>(next);
|
|
1468
|
-
next = yyinput();
|
|
1469
|
-
}
|
|
1470
|
-
unput(next);
|
|
1471
|
-
|
|
1472
|
-
if(escape.length() == 0)
|
|
1473
|
-
{
|
|
1474
|
-
unit->error("no hex digit in hex escape sequence");
|
|
1475
|
-
}
|
|
1476
|
-
|
|
1477
|
-
str->literal += escape;
|
|
1478
|
-
IceUtil::Int64 value = IceUtilInternal::strToInt64(escape.c_str(), 0, 16);
|
|
1479
|
-
|
|
1480
|
-
assert(value >= 0 && value <= 255);
|
|
1481
|
-
str->v += static_cast<char>(value);
|
|
1482
|
-
break;
|
|
1483
|
-
}
|
|
1837
|
+
popState();
|
|
1838
|
+
endLocation(yylloc);
|
|
1484
1839
|
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
next = yyinput();
|
|
1497
|
-
if(!isxdigit(next))
|
|
1498
|
-
{
|
|
1499
|
-
unit->error(string("unknown escape sequence in string literal: `\\") +
|
|
1500
|
-
static_cast<char>(c) + escape + static_cast<char>(next) + "'");
|
|
1501
|
-
unput(next);
|
|
1502
|
-
break;
|
|
1503
|
-
}
|
|
1504
|
-
escape += static_cast<char>(next);
|
|
1505
|
-
--size;
|
|
1506
|
-
}
|
|
1507
|
-
|
|
1508
|
-
if(size == 0)
|
|
1509
|
-
{
|
|
1510
|
-
// All digits read, check value
|
|
1511
|
-
IceUtil::Int64 codePoint = IceUtilInternal::strToInt64(escape.c_str(), 0, 16);
|
|
1512
|
-
if(codePoint >= 0xd800 && codePoint <= 0xdfff)
|
|
1513
|
-
{
|
|
1514
|
-
unit->error(string("a universal character name cannot designate a surrogate: `\\") +
|
|
1515
|
-
static_cast<char>(c) + escape + "'");
|
|
1516
|
-
}
|
|
1517
|
-
}
|
|
1518
|
-
|
|
1519
|
-
str->literal += escape;
|
|
1520
|
-
str->v += string("\\") + static_cast<char>(c) + escape;
|
|
1521
|
-
break;
|
|
1522
|
-
}
|
|
1840
|
+
StringTokPtr str = dynamic_pointer_cast<StringTok>(*yylval);
|
|
1841
|
+
str->literal += yytext;
|
|
1842
|
+
return ICE_STRING_LITERAL;
|
|
1843
|
+
}
|
|
1844
|
+
YY_BREAK
|
|
1845
|
+
/* Matches EOF, but only while scanning a string literal. */
|
|
1846
|
+
case YY_STATE_EOF(STRING_LITERAL):
|
|
1847
|
+
#line 271 "src/Slice/Scanner.l"
|
|
1848
|
+
{
|
|
1849
|
+
popState();
|
|
1850
|
+
endLocation(yylloc);
|
|
1523
1851
|
|
|
1524
|
-
|
|
1525
|
-
{
|
|
1526
|
-
ostringstream os;
|
|
1527
|
-
os << "unknown escape sequence `\\" << static_cast<char>(next) << "'";
|
|
1528
|
-
unit->warning(All, os.str());
|
|
1529
|
-
|
|
1530
|
-
// Escape the \ in this unknown escape sequence
|
|
1531
|
-
str->v += '\\';
|
|
1532
|
-
str->v += '\\';
|
|
1533
|
-
unput(next);
|
|
1534
|
-
}
|
|
1535
|
-
}
|
|
1536
|
-
}
|
|
1537
|
-
else
|
|
1538
|
-
{
|
|
1539
|
-
str->v += static_cast<char>(c);
|
|
1540
|
-
}
|
|
1541
|
-
}
|
|
1542
|
-
*yylvalp = str;
|
|
1852
|
+
currentUnit->error("encountered EOF while scanning a string literal");
|
|
1543
1853
|
return ICE_STRING_LITERAL;
|
|
1544
1854
|
}
|
|
1545
1855
|
YY_BREAK
|
|
1546
|
-
case
|
|
1856
|
+
case 19:
|
|
1547
1857
|
YY_RULE_SETUP
|
|
1548
|
-
#line
|
|
1858
|
+
#line 279 "src/Slice/Scanner.l"
|
|
1549
1859
|
{
|
|
1550
|
-
|
|
1551
|
-
|
|
1860
|
+
setLocation(yylloc);
|
|
1861
|
+
|
|
1862
|
+
IntegerTokPtr itp = make_shared<IntegerTok>();
|
|
1552
1863
|
itp->literal = string(yytext);
|
|
1553
|
-
*
|
|
1554
|
-
|
|
1864
|
+
*yylval = itp;
|
|
1865
|
+
try
|
|
1866
|
+
{
|
|
1867
|
+
itp->v = std::stoll(string(yytext), nullptr, 0);
|
|
1868
|
+
}
|
|
1869
|
+
catch (const std::out_of_range&)
|
|
1555
1870
|
{
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1871
|
+
currentUnit->error("integer constant '" + string(yytext) + "' out of range");
|
|
1872
|
+
itp->v = INT64_MAX;
|
|
1873
|
+
}
|
|
1874
|
+
catch (const std::invalid_argument&)
|
|
1875
|
+
{
|
|
1876
|
+
currentUnit->error("invalid integer constant '" + string(yytext) + "'");
|
|
1877
|
+
itp->v = INT64_MAX;
|
|
1561
1878
|
}
|
|
1562
1879
|
return ICE_INTEGER_LITERAL;
|
|
1563
1880
|
}
|
|
1564
1881
|
YY_BREAK
|
|
1565
|
-
case
|
|
1882
|
+
case 20:
|
|
1566
1883
|
YY_RULE_SETUP
|
|
1567
|
-
#line
|
|
1884
|
+
#line 302 "src/Slice/Scanner.l"
|
|
1568
1885
|
{
|
|
1569
|
-
|
|
1886
|
+
setLocation(yylloc);
|
|
1887
|
+
|
|
1570
1888
|
errno = 0;
|
|
1571
|
-
FloatingTokPtr ftp =
|
|
1572
|
-
*
|
|
1889
|
+
FloatingTokPtr ftp = make_shared<FloatingTok>();
|
|
1890
|
+
*yylval = ftp;
|
|
1573
1891
|
string literal(yytext);
|
|
1574
1892
|
ftp->literal = literal;
|
|
1575
1893
|
char lastChar = literal[literal.size() - 1];
|
|
1576
|
-
if(lastChar == 'f' || lastChar == 'F')
|
|
1894
|
+
if (lastChar == 'f' || lastChar == 'F')
|
|
1577
1895
|
{
|
|
1578
1896
|
literal = literal.substr(0, literal.size() - 1); // Clobber trailing 'f' or 'F' suffix
|
|
1579
1897
|
}
|
|
1580
|
-
ftp->v = strtod(literal.c_str(),
|
|
1581
|
-
if((ftp->v == HUGE_VAL || ftp->v == -HUGE_VAL) && errno == ERANGE)
|
|
1898
|
+
ftp->v = strtod(literal.c_str(), nullptr);
|
|
1899
|
+
if ((ftp->v == HUGE_VAL || ftp->v == -HUGE_VAL) && errno == ERANGE)
|
|
1582
1900
|
{
|
|
1583
|
-
|
|
1584
|
-
msg += yytext;
|
|
1585
|
-
msg += "' too large (overflow)";
|
|
1586
|
-
unit->error(msg);
|
|
1901
|
+
currentUnit->error("floating-point constant '" + string{yytext} + "' too large (overflow)");
|
|
1587
1902
|
}
|
|
1588
|
-
else if(ftp->v == 0 && errno == ERANGE)
|
|
1903
|
+
else if (ftp->v == 0 && errno == ERANGE)
|
|
1589
1904
|
{
|
|
1590
|
-
|
|
1591
|
-
msg += yytext;
|
|
1592
|
-
msg += "' too small (underflow)";
|
|
1593
|
-
unit->error(msg);
|
|
1905
|
+
currentUnit->error("floating-point constant '" + string{yytext} + "' too small (underflow)");
|
|
1594
1906
|
}
|
|
1595
1907
|
return ICE_FLOATING_POINT_LITERAL;
|
|
1596
1908
|
}
|
|
1597
1909
|
YY_BREAK
|
|
1598
|
-
|
|
1599
|
-
/*
|
|
1910
|
+
/* ========== Comments ========== */
|
|
1911
|
+
/* Matches and records a triple-slash style doc-comment. */
|
|
1912
|
+
case 21:
|
|
1600
1913
|
YY_RULE_SETUP
|
|
1601
|
-
#line
|
|
1914
|
+
#line 330 "src/Slice/Scanner.l"
|
|
1602
1915
|
{
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
if(unit->currentLine() != 0)
|
|
1606
|
-
{
|
|
1607
|
-
BEGIN(MAINSCAN);
|
|
1608
|
-
}
|
|
1609
|
-
if(yytext[0] == '\n')
|
|
1610
|
-
{
|
|
1611
|
-
unit->nextLine();
|
|
1612
|
-
}
|
|
1916
|
+
currentUnit->appendToDocComment(yytext + 3);
|
|
1613
1917
|
}
|
|
1614
1918
|
YY_BREAK
|
|
1615
|
-
|
|
1919
|
+
/* Matches and consumes a C++ style comment. */
|
|
1920
|
+
case 22:
|
|
1616
1921
|
YY_RULE_SETUP
|
|
1617
|
-
#line
|
|
1618
|
-
{
|
|
1619
|
-
|
|
1922
|
+
#line 335 "src/Slice/Scanner.l"
|
|
1923
|
+
{}
|
|
1924
|
+
YY_BREAK
|
|
1925
|
+
/* Matches the start of a C style doc-comment, and switches the scanner to the C_DOC_COMMENT state.
|
|
1926
|
+
* Specifically we match a forward slash and 2 stars when they are _not_ followed by either a '/' or '*' character. */
|
|
1927
|
+
case 23:
|
|
1928
|
+
/* rule 23 can match eol */
|
|
1929
|
+
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
|
|
1930
|
+
YY_LINENO_REWIND_TO(yy_bp + 3);
|
|
1931
|
+
(yy_c_buf_p) = yy_cp = yy_bp + 3;
|
|
1932
|
+
YY_DO_BEFORE_ACTION; /* set up yytext again */
|
|
1933
|
+
YY_RULE_SETUP
|
|
1934
|
+
#line 339 "src/Slice/Scanner.l"
|
|
1935
|
+
{
|
|
1936
|
+
pushState(C_DOC_COMMENT);
|
|
1937
|
+
}
|
|
1938
|
+
YY_BREAK
|
|
1939
|
+
/* Matches the start of a C style comment, and switches the scanner to the C_COMMENT state. */
|
|
1940
|
+
case 24:
|
|
1941
|
+
YY_RULE_SETUP
|
|
1942
|
+
#line 344 "src/Slice/Scanner.l"
|
|
1943
|
+
{
|
|
1944
|
+
pushState(C_COMMENT);
|
|
1945
|
+
}
|
|
1946
|
+
YY_BREAK
|
|
1947
|
+
/* Matches any character except for newlines and adds them to the comments. '*' are matched one at a time to ensure
|
|
1948
|
+
* Flex scans '* /' correctly. Flex prioritizes longer matches over shorter ones, so '* /' will match before '*'. */
|
|
1949
|
+
case 25:
|
|
1950
|
+
#line 351 "src/Slice/Scanner.l"
|
|
1951
|
+
case 26:
|
|
1952
|
+
YY_RULE_SETUP
|
|
1953
|
+
#line 351 "src/Slice/Scanner.l"
|
|
1954
|
+
{
|
|
1955
|
+
yymore();
|
|
1956
|
+
}
|
|
1957
|
+
YY_BREAK
|
|
1958
|
+
/* Matches as many newlines as are available and adds them to the comment, after incrementing the line count. */
|
|
1959
|
+
case 27:
|
|
1960
|
+
/* rule 27 can match eol */
|
|
1961
|
+
YY_RULE_SETUP
|
|
1962
|
+
#line 356 "src/Slice/Scanner.l"
|
|
1963
|
+
{
|
|
1964
|
+
nextLine(yyleng);
|
|
1965
|
+
yymore();
|
|
1966
|
+
}
|
|
1967
|
+
YY_BREAK
|
|
1968
|
+
/* Matches the end of a C style comment, and reverts the scanner state to what it previously was. */
|
|
1969
|
+
case 28:
|
|
1970
|
+
YY_RULE_SETUP
|
|
1971
|
+
#line 362 "src/Slice/Scanner.l"
|
|
1972
|
+
{
|
|
1973
|
+
string comment(yytext);
|
|
1974
|
+
// The last 2 characters are the '*/' matched by this rule.
|
|
1975
|
+
if (YY_START == C_DOC_COMMENT)
|
|
1976
|
+
{
|
|
1977
|
+
currentUnit->setDocComment(comment.substr(0, yyleng - 2));
|
|
1978
|
+
}
|
|
1620
1979
|
|
|
1621
|
-
|
|
1980
|
+
popState();
|
|
1622
1981
|
}
|
|
1623
1982
|
YY_BREAK
|
|
1624
|
-
|
|
1983
|
+
/* Handles reaching EOF while scanning a C style comment by issuing a warning but continuing normally. */
|
|
1984
|
+
case YY_STATE_EOF(C_COMMENT):
|
|
1985
|
+
case YY_STATE_EOF(C_DOC_COMMENT):
|
|
1986
|
+
#line 374 "src/Slice/Scanner.l"
|
|
1987
|
+
{
|
|
1988
|
+
currentUnit->error("encountered EOF while scanning a comment");
|
|
1989
|
+
if (YY_START == C_DOC_COMMENT)
|
|
1990
|
+
{
|
|
1991
|
+
currentUnit->setDocComment(yytext);
|
|
1992
|
+
}
|
|
1993
|
+
|
|
1994
|
+
popState();
|
|
1995
|
+
}
|
|
1996
|
+
YY_BREAK
|
|
1997
|
+
/* ========== Preprocessor Statements ========== */
|
|
1998
|
+
/* Matches the empty preprocessor directive. */
|
|
1999
|
+
case 29:
|
|
1625
2000
|
YY_RULE_SETUP
|
|
1626
|
-
#line
|
|
2001
|
+
#line 387 "src/Slice/Scanner.l"
|
|
2002
|
+
{
|
|
2003
|
+
pushState(PREPROCESS);
|
|
2004
|
+
}
|
|
2005
|
+
YY_BREAK
|
|
2006
|
+
/* Matches a line preprocessor directive, but missing a line number. */
|
|
2007
|
+
case 30:
|
|
2008
|
+
YY_RULE_SETUP
|
|
2009
|
+
#line 392 "src/Slice/Scanner.l"
|
|
2010
|
+
{
|
|
2011
|
+
pushState(PREPROCESS);
|
|
2012
|
+
currentUnit->error("missing line number in line preprocessor directive");
|
|
2013
|
+
}
|
|
2014
|
+
YY_BREAK
|
|
2015
|
+
/* Matches a line preprocessor directive (optionally with a file specified afterwards). */
|
|
2016
|
+
case 31:
|
|
2017
|
+
#line 399 "src/Slice/Scanner.l"
|
|
2018
|
+
case 32:
|
|
2019
|
+
YY_RULE_SETUP
|
|
2020
|
+
#line 399 "src/Slice/Scanner.l"
|
|
2021
|
+
{
|
|
2022
|
+
int includeAction = scanPosition(yytext);
|
|
2023
|
+
if (yylineno == 0 || includeAction == 1) // Push: Indicated the scanner has started scanning a new file.
|
|
2024
|
+
{
|
|
2025
|
+
pushState(INITIAL);
|
|
2026
|
+
}
|
|
2027
|
+
else if (includeAction == 2) // Pop: Indicates the scanner has completed scanning a file.
|
|
2028
|
+
{
|
|
2029
|
+
popState();
|
|
2030
|
+
}
|
|
2031
|
+
pushState(PREPROCESS);
|
|
2032
|
+
}
|
|
2033
|
+
YY_BREAK
|
|
2034
|
+
/* Matches any non white-space character. This is a catch-all to report any invalid characters
|
|
2035
|
+
* found while scanning a preprocessor directive. */
|
|
2036
|
+
case 33:
|
|
2037
|
+
YY_RULE_SETUP
|
|
2038
|
+
#line 414 "src/Slice/Scanner.l"
|
|
2039
|
+
{
|
|
2040
|
+
currentUnit->error("encountered unexpected token while scanning preprocessor directive: '" + string(yytext) + "'");
|
|
2041
|
+
}
|
|
2042
|
+
YY_BREAK
|
|
2043
|
+
/* Matches a new-line character or EOF. This signals the end of the preprocessor statement. */
|
|
2044
|
+
case 34:
|
|
2045
|
+
/* rule 34 can match eol */
|
|
2046
|
+
#line 420 "src/Slice/Scanner.l"
|
|
2047
|
+
YY_RULE_SETUP
|
|
2048
|
+
case YY_STATE_EOF(PREPROCESS):
|
|
2049
|
+
#line 420 "src/Slice/Scanner.l"
|
|
2050
|
+
{
|
|
2051
|
+
popState();
|
|
2052
|
+
nextLine();
|
|
2053
|
+
}
|
|
2054
|
+
YY_BREAK
|
|
2055
|
+
/* ========== Metadata ========== */
|
|
2056
|
+
case 35:
|
|
2057
|
+
YY_RULE_SETUP
|
|
2058
|
+
#line 427 "src/Slice/Scanner.l"
|
|
2059
|
+
{
|
|
2060
|
+
pushState(METADATA);
|
|
2061
|
+
return ICE_METADATA_OPEN;
|
|
2062
|
+
}
|
|
2063
|
+
YY_BREAK
|
|
2064
|
+
case 36:
|
|
2065
|
+
YY_RULE_SETUP
|
|
2066
|
+
#line 432 "src/Slice/Scanner.l"
|
|
2067
|
+
{
|
|
2068
|
+
pushState(METADATA);
|
|
2069
|
+
return ICE_FILE_METADATA_OPEN;
|
|
2070
|
+
}
|
|
2071
|
+
YY_BREAK
|
|
2072
|
+
/* Matches the start of a metadata string, then switches the scanner into STRING_LITERAL mode. */
|
|
2073
|
+
case 37:
|
|
2074
|
+
YY_RULE_SETUP
|
|
2075
|
+
#line 438 "src/Slice/Scanner.l"
|
|
2076
|
+
{
|
|
2077
|
+
pushState(STRING_LITERAL);
|
|
2078
|
+
startLocation(yylloc);
|
|
2079
|
+
|
|
2080
|
+
StringTokPtr str = make_shared<StringTok>();
|
|
2081
|
+
str->literal = "\"";
|
|
2082
|
+
*yylval = str;
|
|
2083
|
+
}
|
|
2084
|
+
YY_BREAK
|
|
2085
|
+
/* Matches commas between string literals in quoted metadata and forwards them to the parser. */
|
|
2086
|
+
case 38:
|
|
2087
|
+
YY_RULE_SETUP
|
|
2088
|
+
#line 448 "src/Slice/Scanner.l"
|
|
2089
|
+
{
|
|
2090
|
+
return yytext[0];
|
|
2091
|
+
}
|
|
2092
|
+
YY_BREAK
|
|
2093
|
+
/* Matches and consumes newlines in between metadata after incrementing the line count. */
|
|
2094
|
+
case 39:
|
|
2095
|
+
/* rule 39 can match eol */
|
|
2096
|
+
YY_RULE_SETUP
|
|
2097
|
+
#line 453 "src/Slice/Scanner.l"
|
|
2098
|
+
{
|
|
2099
|
+
nextLine(yyleng);
|
|
2100
|
+
}
|
|
2101
|
+
YY_BREAK
|
|
2102
|
+
case 40:
|
|
2103
|
+
YY_RULE_SETUP
|
|
2104
|
+
#line 457 "src/Slice/Scanner.l"
|
|
2105
|
+
{
|
|
2106
|
+
popState();
|
|
2107
|
+
return ICE_METADATA_CLOSE;
|
|
2108
|
+
}
|
|
2109
|
+
YY_BREAK
|
|
2110
|
+
case 41:
|
|
2111
|
+
YY_RULE_SETUP
|
|
2112
|
+
#line 462 "src/Slice/Scanner.l"
|
|
2113
|
+
{
|
|
2114
|
+
popState();
|
|
2115
|
+
return ICE_FILE_METADATA_CLOSE;
|
|
2116
|
+
}
|
|
2117
|
+
YY_BREAK
|
|
2118
|
+
/* Matches any characters not matched by another metadata rule (except whitespace), and reports an error. */
|
|
2119
|
+
case 42:
|
|
2120
|
+
YY_RULE_SETUP
|
|
2121
|
+
#line 468 "src/Slice/Scanner.l"
|
|
2122
|
+
{
|
|
2123
|
+
ostringstream msg;
|
|
2124
|
+
msg << "invalid tokens in metadata: '" << yytext << "' (maybe you forgot to wrap it in quotes?)";
|
|
2125
|
+
currentUnit->error(msg.str());
|
|
2126
|
+
|
|
2127
|
+
StringTokPtr str = make_shared<StringTok>();
|
|
2128
|
+
str->literal = yytext;
|
|
2129
|
+
*yylval = str;
|
|
2130
|
+
return ICE_STRING_LITERAL;
|
|
2131
|
+
}
|
|
2132
|
+
YY_BREAK
|
|
2133
|
+
/* ========== Identifiers and Keywords ========== */
|
|
2134
|
+
case 43:
|
|
2135
|
+
/* rule 43 can match eol */
|
|
2136
|
+
YY_RULE_SETUP
|
|
2137
|
+
#line 481 "src/Slice/Scanner.l"
|
|
1627
2138
|
{
|
|
1628
|
-
|
|
1629
|
-
|
|
2139
|
+
StringTokPtr ident = make_shared<StringTok>();
|
|
2140
|
+
ident->v = *yytext == '\\' ? yytext + 1 : yytext;
|
|
2141
|
+
ident->v.erase(ident->v.find_first_of(" \t\v\n\r\f("));
|
|
2142
|
+
*yylval = ident;
|
|
2143
|
+
if (*yytext == '\\')
|
|
2144
|
+
{
|
|
2145
|
+
if (checkIsScoped(ident->v) == ICE_SCOPED_IDENTIFIER)
|
|
2146
|
+
{
|
|
2147
|
+
currentUnit->error("Operation identifiers cannot be scoped: '" + (ident->v) + "'");
|
|
2148
|
+
}
|
|
2149
|
+
return ICE_IDENT_OPEN;
|
|
2150
|
+
}
|
|
2151
|
+
int st = checkKeyword(ident->v);
|
|
2152
|
+
if (st == ICE_IDENTIFIER)
|
|
2153
|
+
{
|
|
2154
|
+
return ICE_IDENT_OPEN;
|
|
2155
|
+
}
|
|
2156
|
+
else if (st == ICE_SCOPED_IDENTIFIER)
|
|
2157
|
+
{
|
|
2158
|
+
currentUnit->error("Operation identifiers cannot be scoped: '" + (ident->v) + "'");
|
|
2159
|
+
return ICE_IDENT_OPEN;
|
|
2160
|
+
}
|
|
2161
|
+
else if (st == ICE_OPTIONAL)
|
|
1630
2162
|
{
|
|
1631
|
-
|
|
1632
|
-
s << "illegal input character: '\\";
|
|
1633
|
-
s.width(3);
|
|
1634
|
-
s.fill('0');
|
|
1635
|
-
s << oct << static_cast<int>(static_cast<unsigned char>(yytext[0]));
|
|
1636
|
-
s << "'";
|
|
1637
|
-
unit->error(s.str());
|
|
1638
|
-
return BAD_CHAR;
|
|
2163
|
+
return ICE_OPTIONAL_OPEN;
|
|
1639
2164
|
}
|
|
2165
|
+
else
|
|
2166
|
+
{
|
|
2167
|
+
return ICE_KEYWORD_OPEN;
|
|
2168
|
+
}
|
|
2169
|
+
}
|
|
2170
|
+
YY_BREAK
|
|
2171
|
+
case 44:
|
|
2172
|
+
YY_RULE_SETUP
|
|
2173
|
+
#line 514 "src/Slice/Scanner.l"
|
|
2174
|
+
{
|
|
2175
|
+
StringTokPtr ident = make_shared<StringTok>();
|
|
2176
|
+
ident->v = *yytext == '\\' ? yytext + 1 : yytext;
|
|
2177
|
+
*yylval = ident;
|
|
2178
|
+
return *yytext == '\\' ? checkIsScoped(ident->v) : checkKeyword(ident->v);
|
|
2179
|
+
}
|
|
2180
|
+
YY_BREAK
|
|
2181
|
+
/* ========== Whitespace ========== */
|
|
2182
|
+
/* Matches and consumes any whitespace, except for newlines. */
|
|
2183
|
+
case 45:
|
|
2184
|
+
YY_RULE_SETUP
|
|
2185
|
+
#line 524 "src/Slice/Scanner.l"
|
|
2186
|
+
{}
|
|
2187
|
+
YY_BREAK
|
|
2188
|
+
/* Matches and consumes newlines, but only when the scanner isn't in a sub-scanner. */
|
|
2189
|
+
case 46:
|
|
2190
|
+
/* rule 46 can match eol */
|
|
2191
|
+
YY_RULE_SETUP
|
|
2192
|
+
#line 527 "src/Slice/Scanner.l"
|
|
2193
|
+
{
|
|
2194
|
+
nextLine(yyleng);
|
|
2195
|
+
}
|
|
2196
|
+
YY_BREAK
|
|
2197
|
+
/* ========== Others ========== */
|
|
2198
|
+
/* Handles UTF-8 BOMs.
|
|
2199
|
+
* The scanner has a special 'INITIAL' state, which it enters whenever it hits the start of a file.
|
|
2200
|
+
* This occurs when parsing initially begins, but also when we see the start of an '#include'd file.
|
|
2201
|
+
* As soon as the scanner sees a token, it will transition into a more specific state: SLICE, METADATA, etc.
|
|
2202
|
+
* depending on what token it sees.
|
|
2203
|
+
*
|
|
2204
|
+
* Since BOMs are only allowed at the beginning of files, we only allow them in this 'INITIAL' state.
|
|
2205
|
+
* If we see a BOM in any other state, we emit an error and throw it away. */
|
|
2206
|
+
case 47:
|
|
2207
|
+
YY_RULE_SETUP
|
|
2208
|
+
#line 541 "src/Slice/Scanner.l"
|
|
2209
|
+
{ /* do nothing */ }
|
|
2210
|
+
YY_BREAK
|
|
2211
|
+
case 48:
|
|
2212
|
+
YY_RULE_SETUP
|
|
2213
|
+
#line 542 "src/Slice/Scanner.l"
|
|
2214
|
+
{
|
|
2215
|
+
currentUnit->error("encountered unexpected UTF-8 BOM in input; BOMs can only appear at the beginning of files");
|
|
2216
|
+
}
|
|
2217
|
+
YY_BREAK
|
|
2218
|
+
/* Matches invalid characters, one at a time to make this the 2nd lowest priority rule. All printable ASCII
|
|
2219
|
+
* characters are valid (those between 32 and 127 inclusively), anything outside this range is invalid. */
|
|
2220
|
+
case 49:
|
|
2221
|
+
/* rule 49 can match eol */
|
|
2222
|
+
YY_RULE_SETUP
|
|
2223
|
+
#line 548 "src/Slice/Scanner.l"
|
|
2224
|
+
{
|
|
2225
|
+
stringstream s;
|
|
2226
|
+
s << "illegal input character: '\\";
|
|
2227
|
+
s.width(3);
|
|
2228
|
+
s.fill('0');
|
|
2229
|
+
s << oct << static_cast<int>(static_cast<unsigned char>(yytext[0]));
|
|
2230
|
+
s << "'";
|
|
2231
|
+
|
|
2232
|
+
currentUnit->error(s.str());
|
|
2233
|
+
return BAD_TOKEN;
|
|
2234
|
+
}
|
|
2235
|
+
YY_BREAK
|
|
2236
|
+
/* Matches any valid character (except newlines) not matched by another rule and fowards it to the parser.
|
|
2237
|
+
* This is the lowest priority rule in the scanner, and is only active while not in a sub-scanner. */
|
|
2238
|
+
case 50:
|
|
2239
|
+
YY_RULE_SETUP
|
|
2240
|
+
#line 562 "src/Slice/Scanner.l"
|
|
2241
|
+
{
|
|
2242
|
+
setLocation(yylloc);
|
|
1640
2243
|
return yytext[0];
|
|
1641
2244
|
}
|
|
1642
2245
|
YY_BREAK
|
|
1643
|
-
case
|
|
2246
|
+
case 51:
|
|
1644
2247
|
YY_RULE_SETUP
|
|
1645
|
-
#line
|
|
1646
|
-
|
|
2248
|
+
#line 567 "src/Slice/Scanner.l"
|
|
2249
|
+
YY_FATAL_ERROR( "flex scanner jammed" );
|
|
1647
2250
|
YY_BREAK
|
|
1648
|
-
#line
|
|
2251
|
+
#line 2251 "src/Slice/Scanner.cpp"
|
|
1649
2252
|
case YY_STATE_EOF(INITIAL):
|
|
1650
|
-
case YY_STATE_EOF(
|
|
1651
|
-
case YY_STATE_EOF(
|
|
2253
|
+
case YY_STATE_EOF(SLICE):
|
|
2254
|
+
case YY_STATE_EOF(METADATA):
|
|
1652
2255
|
yyterminate();
|
|
1653
2256
|
|
|
1654
2257
|
case YY_END_OF_BUFFER:
|
|
@@ -1672,7 +2275,11 @@ case YY_STATE_EOF(MAINSCAN):
|
|
|
1672
2275
|
* back-up) that will match for the new input source.
|
|
1673
2276
|
*/
|
|
1674
2277
|
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
|
|
2278
|
+
/* %if-c-only */
|
|
1675
2279
|
YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
|
|
2280
|
+
/* %endif */
|
|
2281
|
+
/* %if-c++-only */
|
|
2282
|
+
/* %endif */
|
|
1676
2283
|
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
|
|
1677
2284
|
}
|
|
1678
2285
|
|
|
@@ -1714,6 +2321,7 @@ case YY_STATE_EOF(MAINSCAN):
|
|
|
1714
2321
|
|
|
1715
2322
|
else
|
|
1716
2323
|
{
|
|
2324
|
+
/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
|
|
1717
2325
|
yy_cp = (yy_last_accepting_cpos);
|
|
1718
2326
|
yy_current_state = (yy_last_accepting_state);
|
|
1719
2327
|
goto yy_find_action;
|
|
@@ -1781,6 +2389,13 @@ case YY_STATE_EOF(MAINSCAN):
|
|
|
1781
2389
|
} /* end of scanning one token */
|
|
1782
2390
|
} /* end of user's declarations */
|
|
1783
2391
|
} /* end of yylex */
|
|
2392
|
+
/* %ok-for-header */
|
|
2393
|
+
|
|
2394
|
+
/* %if-c++-only */
|
|
2395
|
+
/* %not-for-header */
|
|
2396
|
+
/* %ok-for-header */
|
|
2397
|
+
|
|
2398
|
+
/* %endif */
|
|
1784
2399
|
|
|
1785
2400
|
/* yy_get_next_buffer - try to read in a new buffer
|
|
1786
2401
|
*
|
|
@@ -1789,7 +2404,11 @@ case YY_STATE_EOF(MAINSCAN):
|
|
|
1789
2404
|
* EOB_ACT_CONTINUE_SCAN - continue scanning from current position
|
|
1790
2405
|
* EOB_ACT_END_OF_FILE - end of file
|
|
1791
2406
|
*/
|
|
2407
|
+
/* %if-c-only */
|
|
1792
2408
|
static int yy_get_next_buffer (void)
|
|
2409
|
+
/* %endif */
|
|
2410
|
+
/* %if-c++-only */
|
|
2411
|
+
/* %endif */
|
|
1793
2412
|
{
|
|
1794
2413
|
char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
|
|
1795
2414
|
char *source = (yytext_ptr);
|
|
@@ -1927,16 +2546,23 @@ static int yy_get_next_buffer (void)
|
|
|
1927
2546
|
|
|
1928
2547
|
/* yy_get_previous_state - get the state just before the EOB char was reached */
|
|
1929
2548
|
|
|
2549
|
+
/* %if-c-only */
|
|
2550
|
+
/* %not-for-header */
|
|
1930
2551
|
static yy_state_type yy_get_previous_state (void)
|
|
2552
|
+
/* %endif */
|
|
2553
|
+
/* %if-c++-only */
|
|
2554
|
+
/* %endif */
|
|
1931
2555
|
{
|
|
1932
2556
|
yy_state_type yy_current_state;
|
|
1933
2557
|
char *yy_cp;
|
|
1934
2558
|
|
|
2559
|
+
/* %% [15.0] code to get the start state into yy_current_state goes here */
|
|
1935
2560
|
yy_current_state = (yy_start);
|
|
1936
2561
|
yy_current_state += YY_AT_BOL();
|
|
1937
2562
|
|
|
1938
2563
|
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
|
|
1939
2564
|
{
|
|
2565
|
+
/* %% [16.0] code to find the next state goes here */
|
|
1940
2566
|
YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
|
|
1941
2567
|
if ( yy_accept[yy_current_state] )
|
|
1942
2568
|
{
|
|
@@ -1946,7 +2572,7 @@ static int yy_get_next_buffer (void)
|
|
|
1946
2572
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1947
2573
|
{
|
|
1948
2574
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1949
|
-
if ( yy_current_state >=
|
|
2575
|
+
if ( yy_current_state >= 220 )
|
|
1950
2576
|
yy_c = yy_meta[yy_c];
|
|
1951
2577
|
}
|
|
1952
2578
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
@@ -1960,10 +2586,15 @@ static int yy_get_next_buffer (void)
|
|
|
1960
2586
|
* synopsis
|
|
1961
2587
|
* next_state = yy_try_NUL_trans( current_state );
|
|
1962
2588
|
*/
|
|
2589
|
+
/* %if-c-only */
|
|
1963
2590
|
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
|
|
2591
|
+
/* %endif */
|
|
2592
|
+
/* %if-c++-only */
|
|
2593
|
+
/* %endif */
|
|
1964
2594
|
{
|
|
1965
2595
|
int yy_is_jam;
|
|
1966
|
-
|
|
2596
|
+
/* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
|
|
2597
|
+
char *yy_cp = (yy_c_buf_p);
|
|
1967
2598
|
|
|
1968
2599
|
YY_CHAR yy_c = 1;
|
|
1969
2600
|
if ( yy_accept[yy_current_state] )
|
|
@@ -1974,56 +2605,22 @@ static int yy_get_next_buffer (void)
|
|
|
1974
2605
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
1975
2606
|
{
|
|
1976
2607
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
1977
|
-
if ( yy_current_state >=
|
|
2608
|
+
if ( yy_current_state >= 220 )
|
|
1978
2609
|
yy_c = yy_meta[yy_c];
|
|
1979
2610
|
}
|
|
1980
2611
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
1981
|
-
yy_is_jam = (yy_current_state ==
|
|
2612
|
+
yy_is_jam = (yy_current_state == 219);
|
|
1982
2613
|
|
|
1983
2614
|
return yy_is_jam ? 0 : yy_current_state;
|
|
1984
2615
|
}
|
|
1985
2616
|
|
|
1986
2617
|
#ifndef YY_NO_UNPUT
|
|
2618
|
+
/* %if-c-only */
|
|
1987
2619
|
|
|
1988
|
-
|
|
1989
|
-
{
|
|
1990
|
-
char *yy_cp;
|
|
1991
|
-
|
|
1992
|
-
yy_cp = (yy_c_buf_p);
|
|
1993
|
-
|
|
1994
|
-
/* undo effects of setting up yytext */
|
|
1995
|
-
*yy_cp = (yy_hold_char);
|
|
1996
|
-
|
|
1997
|
-
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
|
|
1998
|
-
{ /* need to shift things up to make room */
|
|
1999
|
-
/* +2 for EOB chars. */
|
|
2000
|
-
int number_to_move = (yy_n_chars) + 2;
|
|
2001
|
-
char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
|
|
2002
|
-
YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
|
|
2003
|
-
char *source =
|
|
2004
|
-
&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
|
|
2005
|
-
|
|
2006
|
-
while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
|
|
2007
|
-
*--dest = *--source;
|
|
2008
|
-
|
|
2009
|
-
yy_cp += (int) (dest - source);
|
|
2010
|
-
yy_bp += (int) (dest - source);
|
|
2011
|
-
YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
|
|
2012
|
-
(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
|
|
2013
|
-
|
|
2014
|
-
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
|
|
2015
|
-
YY_FATAL_ERROR( "flex scanner push-back overflow" );
|
|
2016
|
-
}
|
|
2017
|
-
|
|
2018
|
-
*--yy_cp = (char) c;
|
|
2019
|
-
|
|
2020
|
-
(yytext_ptr) = yy_bp;
|
|
2021
|
-
(yy_hold_char) = *yy_cp;
|
|
2022
|
-
(yy_c_buf_p) = yy_cp;
|
|
2023
|
-
}
|
|
2024
|
-
|
|
2620
|
+
/* %endif */
|
|
2025
2621
|
#endif
|
|
2026
2622
|
|
|
2623
|
+
/* %if-c-only */
|
|
2027
2624
|
#ifndef YY_NO_INPUT
|
|
2028
2625
|
#ifdef __cplusplus
|
|
2029
2626
|
static int yyinput (void)
|
|
@@ -2031,6 +2628,9 @@ static int yy_get_next_buffer (void)
|
|
|
2031
2628
|
static int input (void)
|
|
2032
2629
|
#endif
|
|
2033
2630
|
|
|
2631
|
+
/* %endif */
|
|
2632
|
+
/* %if-c++-only */
|
|
2633
|
+
/* %endif */
|
|
2034
2634
|
{
|
|
2035
2635
|
int c;
|
|
2036
2636
|
|
|
@@ -2094,18 +2694,25 @@ static int yy_get_next_buffer (void)
|
|
|
2094
2694
|
*(yy_c_buf_p) = '\0'; /* preserve yytext */
|
|
2095
2695
|
(yy_hold_char) = *++(yy_c_buf_p);
|
|
2096
2696
|
|
|
2697
|
+
/* %% [19.0] update BOL and yylineno */
|
|
2097
2698
|
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
|
|
2098
2699
|
|
|
2099
2700
|
return c;
|
|
2100
2701
|
}
|
|
2702
|
+
/* %if-c-only */
|
|
2101
2703
|
#endif /* ifndef YY_NO_INPUT */
|
|
2704
|
+
/* %endif */
|
|
2102
2705
|
|
|
2103
2706
|
/** Immediately switch to a different input stream.
|
|
2104
2707
|
* @param input_file A readable stream.
|
|
2105
2708
|
*
|
|
2106
2709
|
* @note This function does not reset the start condition to @c INITIAL .
|
|
2107
2710
|
*/
|
|
2711
|
+
/* %if-c-only */
|
|
2108
2712
|
void yyrestart (FILE * input_file )
|
|
2713
|
+
/* %endif */
|
|
2714
|
+
/* %if-c++-only */
|
|
2715
|
+
/* %endif */
|
|
2109
2716
|
{
|
|
2110
2717
|
|
|
2111
2718
|
if ( ! YY_CURRENT_BUFFER ){
|
|
@@ -2118,11 +2725,18 @@ static int yy_get_next_buffer (void)
|
|
|
2118
2725
|
yy_load_buffer_state( );
|
|
2119
2726
|
}
|
|
2120
2727
|
|
|
2728
|
+
/* %if-c++-only */
|
|
2729
|
+
/* %endif */
|
|
2730
|
+
|
|
2121
2731
|
/** Switch to a different input buffer.
|
|
2122
2732
|
* @param new_buffer The new input buffer.
|
|
2123
2733
|
*
|
|
2124
2734
|
*/
|
|
2735
|
+
/* %if-c-only */
|
|
2125
2736
|
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
|
|
2737
|
+
/* %endif */
|
|
2738
|
+
/* %if-c++-only */
|
|
2739
|
+
/* %endif */
|
|
2126
2740
|
{
|
|
2127
2741
|
|
|
2128
2742
|
/* TODO. We should be able to replace this entire function body
|
|
@@ -2153,11 +2767,19 @@ static int yy_get_next_buffer (void)
|
|
|
2153
2767
|
(yy_did_buffer_switch_on_eof) = 1;
|
|
2154
2768
|
}
|
|
2155
2769
|
|
|
2770
|
+
/* %if-c-only */
|
|
2156
2771
|
static void yy_load_buffer_state (void)
|
|
2772
|
+
/* %endif */
|
|
2773
|
+
/* %if-c++-only */
|
|
2774
|
+
/* %endif */
|
|
2157
2775
|
{
|
|
2158
2776
|
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
|
|
2159
2777
|
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
|
|
2778
|
+
/* %if-c-only */
|
|
2160
2779
|
yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
|
|
2780
|
+
/* %endif */
|
|
2781
|
+
/* %if-c++-only */
|
|
2782
|
+
/* %endif */
|
|
2161
2783
|
(yy_hold_char) = *(yy_c_buf_p);
|
|
2162
2784
|
}
|
|
2163
2785
|
|
|
@@ -2167,7 +2789,11 @@ static void yy_load_buffer_state (void)
|
|
|
2167
2789
|
*
|
|
2168
2790
|
* @return the allocated buffer state.
|
|
2169
2791
|
*/
|
|
2792
|
+
/* %if-c-only */
|
|
2170
2793
|
YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
|
|
2794
|
+
/* %endif */
|
|
2795
|
+
/* %if-c++-only */
|
|
2796
|
+
/* %endif */
|
|
2171
2797
|
{
|
|
2172
2798
|
YY_BUFFER_STATE b;
|
|
2173
2799
|
|
|
@@ -2191,11 +2817,18 @@ static void yy_load_buffer_state (void)
|
|
|
2191
2817
|
return b;
|
|
2192
2818
|
}
|
|
2193
2819
|
|
|
2820
|
+
/* %if-c++-only */
|
|
2821
|
+
/* %endif */
|
|
2822
|
+
|
|
2194
2823
|
/** Destroy the buffer.
|
|
2195
2824
|
* @param b a buffer created with yy_create_buffer()
|
|
2196
2825
|
*
|
|
2197
2826
|
*/
|
|
2827
|
+
/* %if-c-only */
|
|
2198
2828
|
void yy_delete_buffer (YY_BUFFER_STATE b )
|
|
2829
|
+
/* %endif */
|
|
2830
|
+
/* %if-c++-only */
|
|
2831
|
+
/* %endif */
|
|
2199
2832
|
{
|
|
2200
2833
|
|
|
2201
2834
|
if ( ! b )
|
|
@@ -2214,14 +2847,22 @@ static void yy_load_buffer_state (void)
|
|
|
2214
2847
|
* This function is sometimes called more than once on the same buffer,
|
|
2215
2848
|
* such as during a yyrestart() or at EOF.
|
|
2216
2849
|
*/
|
|
2850
|
+
/* %if-c-only */
|
|
2217
2851
|
static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
|
|
2852
|
+
/* %endif */
|
|
2853
|
+
/* %if-c++-only */
|
|
2854
|
+
/* %endif */
|
|
2218
2855
|
|
|
2219
2856
|
{
|
|
2220
2857
|
int oerrno = errno;
|
|
2221
2858
|
|
|
2222
2859
|
yy_flush_buffer( b );
|
|
2223
2860
|
|
|
2861
|
+
/* %if-c-only */
|
|
2224
2862
|
b->yy_input_file = file;
|
|
2863
|
+
/* %endif */
|
|
2864
|
+
/* %if-c++-only */
|
|
2865
|
+
/* %endif */
|
|
2225
2866
|
b->yy_fill_buffer = 1;
|
|
2226
2867
|
|
|
2227
2868
|
/* If b is the current buffer, then yy_init_buffer was _probably_
|
|
@@ -2233,8 +2874,13 @@ static void yy_load_buffer_state (void)
|
|
|
2233
2874
|
b->yy_bs_column = 0;
|
|
2234
2875
|
}
|
|
2235
2876
|
|
|
2877
|
+
/* %if-c-only */
|
|
2878
|
+
|
|
2236
2879
|
b->yy_is_interactive = 0;
|
|
2237
2880
|
|
|
2881
|
+
/* %endif */
|
|
2882
|
+
/* %if-c++-only */
|
|
2883
|
+
/* %endif */
|
|
2238
2884
|
errno = oerrno;
|
|
2239
2885
|
}
|
|
2240
2886
|
|
|
@@ -2242,7 +2888,11 @@ static void yy_load_buffer_state (void)
|
|
|
2242
2888
|
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
|
|
2243
2889
|
*
|
|
2244
2890
|
*/
|
|
2891
|
+
/* %if-c-only */
|
|
2245
2892
|
void yy_flush_buffer (YY_BUFFER_STATE b )
|
|
2893
|
+
/* %endif */
|
|
2894
|
+
/* %if-c++-only */
|
|
2895
|
+
/* %endif */
|
|
2246
2896
|
{
|
|
2247
2897
|
if ( ! b )
|
|
2248
2898
|
return;
|
|
@@ -2265,13 +2915,18 @@ static void yy_load_buffer_state (void)
|
|
|
2265
2915
|
yy_load_buffer_state( );
|
|
2266
2916
|
}
|
|
2267
2917
|
|
|
2918
|
+
/* %if-c-or-c++ */
|
|
2268
2919
|
/** Pushes the new state onto the stack. The new state becomes
|
|
2269
2920
|
* the current state. This function will allocate the stack
|
|
2270
2921
|
* if necessary.
|
|
2271
2922
|
* @param new_buffer The new state.
|
|
2272
2923
|
*
|
|
2273
2924
|
*/
|
|
2925
|
+
/* %if-c-only */
|
|
2274
2926
|
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
|
|
2927
|
+
/* %endif */
|
|
2928
|
+
/* %if-c++-only */
|
|
2929
|
+
/* %endif */
|
|
2275
2930
|
{
|
|
2276
2931
|
if (new_buffer == NULL)
|
|
2277
2932
|
return;
|
|
@@ -2296,12 +2951,18 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
|
|
|
2296
2951
|
yy_load_buffer_state( );
|
|
2297
2952
|
(yy_did_buffer_switch_on_eof) = 1;
|
|
2298
2953
|
}
|
|
2954
|
+
/* %endif */
|
|
2299
2955
|
|
|
2956
|
+
/* %if-c-or-c++ */
|
|
2300
2957
|
/** Removes and deletes the top of the stack, if present.
|
|
2301
2958
|
* The next element becomes the new top.
|
|
2302
2959
|
*
|
|
2303
2960
|
*/
|
|
2961
|
+
/* %if-c-only */
|
|
2304
2962
|
void yypop_buffer_state (void)
|
|
2963
|
+
/* %endif */
|
|
2964
|
+
/* %if-c++-only */
|
|
2965
|
+
/* %endif */
|
|
2305
2966
|
{
|
|
2306
2967
|
if (!YY_CURRENT_BUFFER)
|
|
2307
2968
|
return;
|
|
@@ -2316,11 +2977,17 @@ void yypop_buffer_state (void)
|
|
|
2316
2977
|
(yy_did_buffer_switch_on_eof) = 1;
|
|
2317
2978
|
}
|
|
2318
2979
|
}
|
|
2980
|
+
/* %endif */
|
|
2319
2981
|
|
|
2982
|
+
/* %if-c-or-c++ */
|
|
2320
2983
|
/* Allocates the stack if it does not exist.
|
|
2321
2984
|
* Guarantees space for at least one push.
|
|
2322
2985
|
*/
|
|
2986
|
+
/* %if-c-only */
|
|
2323
2987
|
static void yyensure_buffer_stack (void)
|
|
2988
|
+
/* %endif */
|
|
2989
|
+
/* %if-c++-only */
|
|
2990
|
+
/* %endif */
|
|
2324
2991
|
{
|
|
2325
2992
|
yy_size_t num_to_alloc;
|
|
2326
2993
|
|
|
@@ -2362,102 +3029,71 @@ static void yyensure_buffer_stack (void)
|
|
|
2362
3029
|
(yy_buffer_stack_max) = num_to_alloc;
|
|
2363
3030
|
}
|
|
2364
3031
|
}
|
|
3032
|
+
/* %endif */
|
|
2365
3033
|
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
*/
|
|
2372
|
-
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
|
|
3034
|
+
/* %if-c-only */
|
|
3035
|
+
static void yy_push_state (int _new_state )
|
|
3036
|
+
/* %endif */
|
|
3037
|
+
/* %if-c++-only */
|
|
3038
|
+
/* %endif */
|
|
2373
3039
|
{
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
base[size-2] != YY_END_OF_BUFFER_CHAR ||
|
|
2378
|
-
base[size-1] != YY_END_OF_BUFFER_CHAR )
|
|
2379
|
-
/* They forgot to leave room for the EOB's. */
|
|
2380
|
-
return NULL;
|
|
2381
|
-
|
|
2382
|
-
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
|
|
2383
|
-
if ( ! b )
|
|
2384
|
-
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
|
|
2385
|
-
|
|
2386
|
-
b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
|
|
2387
|
-
b->yy_buf_pos = b->yy_ch_buf = base;
|
|
2388
|
-
b->yy_is_our_buffer = 0;
|
|
2389
|
-
b->yy_input_file = NULL;
|
|
2390
|
-
b->yy_n_chars = b->yy_buf_size;
|
|
2391
|
-
b->yy_is_interactive = 0;
|
|
2392
|
-
b->yy_at_bol = 1;
|
|
2393
|
-
b->yy_fill_buffer = 0;
|
|
2394
|
-
b->yy_buffer_status = YY_BUFFER_NEW;
|
|
3040
|
+
if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
|
|
3041
|
+
{
|
|
3042
|
+
yy_size_t new_size;
|
|
2395
3043
|
|
|
2396
|
-
|
|
3044
|
+
(yy_start_stack_depth) += YY_START_STACK_INCR;
|
|
3045
|
+
new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
|
|
2397
3046
|
|
|
2398
|
-
|
|
2399
|
-
|
|
3047
|
+
if ( ! (yy_start_stack) )
|
|
3048
|
+
(yy_start_stack) = (int *) yyalloc( new_size );
|
|
2400
3049
|
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
*
|
|
2404
|
-
*
|
|
2405
|
-
* @return the newly allocated buffer state object.
|
|
2406
|
-
* @note If you want to scan bytes that may contain NUL values, then use
|
|
2407
|
-
* yy_scan_bytes() instead.
|
|
2408
|
-
*/
|
|
2409
|
-
YY_BUFFER_STATE yy_scan_string (const char * yystr )
|
|
2410
|
-
{
|
|
2411
|
-
|
|
2412
|
-
return yy_scan_bytes( yystr, (int) strlen(yystr) );
|
|
2413
|
-
}
|
|
3050
|
+
else
|
|
3051
|
+
(yy_start_stack) = (int *) yyrealloc(
|
|
3052
|
+
(void *) (yy_start_stack), new_size );
|
|
2414
3053
|
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
|
|
2419
|
-
*
|
|
2420
|
-
* @return the newly allocated buffer state object.
|
|
2421
|
-
*/
|
|
2422
|
-
YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
|
|
2423
|
-
{
|
|
2424
|
-
YY_BUFFER_STATE b;
|
|
2425
|
-
char *buf;
|
|
2426
|
-
yy_size_t n;
|
|
2427
|
-
int i;
|
|
2428
|
-
|
|
2429
|
-
/* Get memory for full buffer, including space for trailing EOB's. */
|
|
2430
|
-
n = (yy_size_t) (_yybytes_len + 2);
|
|
2431
|
-
buf = (char *) yyalloc( n );
|
|
2432
|
-
if ( ! buf )
|
|
2433
|
-
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
|
|
3054
|
+
if ( ! (yy_start_stack) )
|
|
3055
|
+
YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
|
|
3056
|
+
}
|
|
2434
3057
|
|
|
2435
|
-
|
|
2436
|
-
buf[i] = yybytes[i];
|
|
3058
|
+
(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
|
|
2437
3059
|
|
|
2438
|
-
|
|
3060
|
+
BEGIN(_new_state);
|
|
3061
|
+
}
|
|
2439
3062
|
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
3063
|
+
/* %if-c-only */
|
|
3064
|
+
static void yy_pop_state (void)
|
|
3065
|
+
/* %endif */
|
|
3066
|
+
/* %if-c++-only */
|
|
3067
|
+
/* %endif */
|
|
3068
|
+
{
|
|
3069
|
+
if ( --(yy_start_stack_ptr) < 0 )
|
|
3070
|
+
YY_FATAL_ERROR( "start-condition stack underflow" );
|
|
2443
3071
|
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
*/
|
|
2447
|
-
b->yy_is_our_buffer = 1;
|
|
3072
|
+
BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
|
|
3073
|
+
}
|
|
2448
3074
|
|
|
2449
|
-
|
|
3075
|
+
/* %if-c-only */
|
|
3076
|
+
static int yy_top_state (void)
|
|
3077
|
+
/* %endif */
|
|
3078
|
+
/* %if-c++-only */
|
|
3079
|
+
/* %endif */
|
|
3080
|
+
{
|
|
3081
|
+
return (yy_start_stack)[(yy_start_stack_ptr) - 1];
|
|
2450
3082
|
}
|
|
2451
3083
|
|
|
2452
3084
|
#ifndef YY_EXIT_FAILURE
|
|
2453
3085
|
#define YY_EXIT_FAILURE 2
|
|
2454
3086
|
#endif
|
|
2455
3087
|
|
|
3088
|
+
/* %if-c-only */
|
|
2456
3089
|
static void yynoreturn yy_fatal_error (const char* msg )
|
|
2457
3090
|
{
|
|
2458
3091
|
fprintf( stderr, "%s\n", msg );
|
|
2459
3092
|
exit( YY_EXIT_FAILURE );
|
|
2460
3093
|
}
|
|
3094
|
+
/* %endif */
|
|
3095
|
+
/* %if-c++-only */
|
|
3096
|
+
/* %endif */
|
|
2461
3097
|
|
|
2462
3098
|
/* Redefine yyless() so it works in section 3 code. */
|
|
2463
3099
|
|
|
@@ -2478,84 +3114,25 @@ static void yynoreturn yy_fatal_error (const char* msg )
|
|
|
2478
3114
|
|
|
2479
3115
|
/* Accessor methods (get/set functions) to struct members. */
|
|
2480
3116
|
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
*/
|
|
2484
|
-
int yyget_lineno (void)
|
|
2485
|
-
{
|
|
2486
|
-
|
|
2487
|
-
return yylineno;
|
|
2488
|
-
}
|
|
2489
|
-
|
|
2490
|
-
/** Get the input stream.
|
|
2491
|
-
*
|
|
2492
|
-
*/
|
|
2493
|
-
FILE *yyget_in (void)
|
|
2494
|
-
{
|
|
2495
|
-
return yyin;
|
|
2496
|
-
}
|
|
2497
|
-
|
|
2498
|
-
/** Get the output stream.
|
|
2499
|
-
*
|
|
2500
|
-
*/
|
|
2501
|
-
FILE *yyget_out (void)
|
|
2502
|
-
{
|
|
2503
|
-
return yyout;
|
|
2504
|
-
}
|
|
2505
|
-
|
|
2506
|
-
/** Get the length of the current token.
|
|
2507
|
-
*
|
|
2508
|
-
*/
|
|
2509
|
-
int yyget_leng (void)
|
|
2510
|
-
{
|
|
2511
|
-
return yyleng;
|
|
2512
|
-
}
|
|
3117
|
+
/* %if-c-only */
|
|
3118
|
+
/* %if-reentrant */
|
|
3119
|
+
/* %endif */
|
|
2513
3120
|
|
|
2514
3121
|
/** Get the current token.
|
|
2515
3122
|
*
|
|
2516
3123
|
*/
|
|
2517
3124
|
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
return yytext;
|
|
2521
|
-
}
|
|
3125
|
+
/* %if-reentrant */
|
|
3126
|
+
/* %endif */
|
|
2522
3127
|
|
|
2523
|
-
|
|
2524
|
-
* @param _line_number line number
|
|
2525
|
-
*
|
|
2526
|
-
*/
|
|
2527
|
-
void yyset_lineno (int _line_number )
|
|
2528
|
-
{
|
|
2529
|
-
|
|
2530
|
-
yylineno = _line_number;
|
|
2531
|
-
}
|
|
3128
|
+
/* %endif */
|
|
2532
3129
|
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
* @see yy_switch_to_buffer
|
|
2538
|
-
*/
|
|
2539
|
-
void yyset_in (FILE * _in_str )
|
|
2540
|
-
{
|
|
2541
|
-
yyin = _in_str ;
|
|
2542
|
-
}
|
|
2543
|
-
|
|
2544
|
-
void yyset_out (FILE * _out_str )
|
|
2545
|
-
{
|
|
2546
|
-
yyout = _out_str ;
|
|
2547
|
-
}
|
|
2548
|
-
|
|
2549
|
-
int yyget_debug (void)
|
|
2550
|
-
{
|
|
2551
|
-
return yy_flex_debug;
|
|
2552
|
-
}
|
|
2553
|
-
|
|
2554
|
-
void yyset_debug (int _bdebug )
|
|
2555
|
-
{
|
|
2556
|
-
yy_flex_debug = _bdebug ;
|
|
2557
|
-
}
|
|
3130
|
+
/* %if-reentrant */
|
|
3131
|
+
/* %if-bison-bridge */
|
|
3132
|
+
/* %endif */
|
|
3133
|
+
/* %endif if-c-only */
|
|
2558
3134
|
|
|
3135
|
+
/* %if-c-only */
|
|
2559
3136
|
static int yy_init_globals (void)
|
|
2560
3137
|
{
|
|
2561
3138
|
/* Initialization is the same as for the non-reentrant scanner.
|
|
@@ -2569,6 +3146,10 @@ static int yy_init_globals (void)
|
|
|
2569
3146
|
(yy_init) = 0;
|
|
2570
3147
|
(yy_start) = 0;
|
|
2571
3148
|
|
|
3149
|
+
(yy_start_stack_ptr) = 0;
|
|
3150
|
+
(yy_start_stack_depth) = 0;
|
|
3151
|
+
(yy_start_stack) = NULL;
|
|
3152
|
+
|
|
2572
3153
|
/* Defined in main.c */
|
|
2573
3154
|
#ifdef YY_STDINIT
|
|
2574
3155
|
yyin = stdin;
|
|
@@ -2583,7 +3164,9 @@ static int yy_init_globals (void)
|
|
|
2583
3164
|
*/
|
|
2584
3165
|
return 0;
|
|
2585
3166
|
}
|
|
3167
|
+
/* %endif */
|
|
2586
3168
|
|
|
3169
|
+
/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
|
|
2587
3170
|
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
|
|
2588
3171
|
int yylex_destroy (void)
|
|
2589
3172
|
{
|
|
@@ -2599,12 +3182,19 @@ int yylex_destroy (void)
|
|
|
2599
3182
|
yyfree((yy_buffer_stack) );
|
|
2600
3183
|
(yy_buffer_stack) = NULL;
|
|
2601
3184
|
|
|
3185
|
+
/* Destroy the start condition stack. */
|
|
3186
|
+
yyfree( (yy_start_stack) );
|
|
3187
|
+
(yy_start_stack) = NULL;
|
|
3188
|
+
|
|
2602
3189
|
/* Reset the globals. This is important in a non-reentrant scanner so the next time
|
|
2603
3190
|
* yylex() is called, initialization will occur. */
|
|
2604
3191
|
yy_init_globals( );
|
|
2605
3192
|
|
|
3193
|
+
/* %if-reentrant */
|
|
3194
|
+
/* %endif */
|
|
2606
3195
|
return 0;
|
|
2607
3196
|
}
|
|
3197
|
+
/* %endif */
|
|
2608
3198
|
|
|
2609
3199
|
/*
|
|
2610
3200
|
* Internal utility routines.
|
|
@@ -2654,154 +3244,202 @@ void yyfree (void * ptr )
|
|
|
2654
3244
|
free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
|
|
2655
3245
|
}
|
|
2656
3246
|
|
|
3247
|
+
/* %if-tables-serialization definitions */
|
|
3248
|
+
/* %define-yytables The name for this specific scanner's tables. */
|
|
2657
3249
|
#define YYTABLES_NAME "yytables"
|
|
3250
|
+
/* %endif */
|
|
3251
|
+
|
|
3252
|
+
/* %ok-for-header */
|
|
3253
|
+
|
|
3254
|
+
#line 567 "src/Slice/Scanner.l"
|
|
2658
3255
|
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
namespace Slice
|
|
2663
|
-
|
|
2664
|
-
//
|
|
2665
|
-
//
|
|
2666
|
-
//
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
initScanner()
|
|
2670
|
-
{
|
|
2671
|
-
keywordMap["module"] = ICE_MODULE;
|
|
2672
|
-
keywordMap["class"] = ICE_CLASS;
|
|
2673
|
-
keywordMap["interface"] = ICE_INTERFACE;
|
|
2674
|
-
keywordMap["exception"] = ICE_EXCEPTION;
|
|
2675
|
-
keywordMap["struct"] = ICE_STRUCT;
|
|
2676
|
-
keywordMap["sequence"] = ICE_SEQUENCE;
|
|
2677
|
-
keywordMap["dictionary"] = ICE_DICTIONARY;
|
|
2678
|
-
keywordMap["enum"] = ICE_ENUM;
|
|
2679
|
-
keywordMap["out"] = ICE_OUT;
|
|
2680
|
-
keywordMap["extends"] = ICE_EXTENDS;
|
|
2681
|
-
keywordMap["implements"] = ICE_IMPLEMENTS;
|
|
2682
|
-
keywordMap["throws"] = ICE_THROWS;
|
|
2683
|
-
keywordMap["void"] = ICE_VOID;
|
|
2684
|
-
keywordMap["byte"] = ICE_BYTE;
|
|
2685
|
-
keywordMap["bool"] = ICE_BOOL;
|
|
2686
|
-
keywordMap["short"] = ICE_SHORT;
|
|
2687
|
-
keywordMap["int"] = ICE_INT;
|
|
2688
|
-
keywordMap["long"] = ICE_LONG;
|
|
2689
|
-
keywordMap["float"] = ICE_FLOAT;
|
|
2690
|
-
keywordMap["double"] = ICE_DOUBLE;
|
|
2691
|
-
keywordMap["string"] = ICE_STRING;
|
|
2692
|
-
keywordMap["Object"] = ICE_OBJECT;
|
|
2693
|
-
keywordMap["LocalObject"] = ICE_LOCAL_OBJECT;
|
|
2694
|
-
keywordMap["local"] = ICE_LOCAL;
|
|
2695
|
-
keywordMap["const"] = ICE_CONST;
|
|
2696
|
-
keywordMap["false"] = ICE_FALSE;
|
|
2697
|
-
keywordMap["true"] = ICE_TRUE;
|
|
2698
|
-
keywordMap["idempotent"] = ICE_IDEMPOTENT;
|
|
2699
|
-
keywordMap["optional"] = ICE_OPTIONAL;
|
|
2700
|
-
keywordMap["Value"] = ICE_VALUE;
|
|
2701
|
-
}
|
|
2702
|
-
|
|
2703
|
-
//
|
|
2704
|
-
// Check if an identifier looks like a keyword.
|
|
2705
|
-
// If the identifier is a keyword, return the
|
|
2706
|
-
// corresponding keyword token; otherwise, return
|
|
2707
|
-
// an identifier token.
|
|
2708
|
-
//
|
|
2709
|
-
|
|
2710
|
-
int
|
|
2711
|
-
checkKeyword(string& id)
|
|
2712
|
-
{
|
|
2713
|
-
StringTokenMap::const_iterator pos = keywordMap.find(id);
|
|
2714
|
-
if(pos != keywordMap.end())
|
|
3256
|
+
|
|
3257
|
+
// NOLINTEND
|
|
3258
|
+
|
|
3259
|
+
namespace Slice
|
|
3260
|
+
{
|
|
3261
|
+
// Check if an identifier looks like a keyword.
|
|
3262
|
+
// If the identifier is a keyword, return the
|
|
3263
|
+
// corresponding keyword token; otherwise, return
|
|
3264
|
+
// an identifier token.
|
|
3265
|
+
int checkKeyword(string& identifier)
|
|
2715
3266
|
{
|
|
2716
|
-
|
|
3267
|
+
const auto pos = keywordMap.find(identifier);
|
|
3268
|
+
if (pos != keywordMap.end())
|
|
2717
3269
|
{
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
3270
|
+
if (pos->first != identifier)
|
|
3271
|
+
{
|
|
3272
|
+
currentUnit->error(
|
|
3273
|
+
"illegal identifier: '" + identifier + "' differs from keyword '" + pos->first +
|
|
3274
|
+
"' only in capitalization");
|
|
3275
|
+
identifier = pos->first;
|
|
3276
|
+
}
|
|
3277
|
+
return pos->second;
|
|
2723
3278
|
}
|
|
2724
|
-
return
|
|
3279
|
+
return checkIsScoped(identifier);
|
|
2725
3280
|
}
|
|
2726
|
-
return checkIdentifier(id);
|
|
2727
|
-
}
|
|
2728
|
-
|
|
2729
|
-
//
|
|
2730
|
-
// Checks an identifier for any illegal syntax and
|
|
2731
|
-
// determines whether it's scoped. If it is, this
|
|
2732
|
-
// returns a scoped identifier token; otherwise this
|
|
2733
|
-
// returns a normal identifier token.
|
|
2734
|
-
//
|
|
2735
3281
|
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
// check whether the identifier is scoped
|
|
2739
|
-
size_t scopeIndex = id.rfind("::");
|
|
2740
|
-
bool isScoped = scopeIndex != string::npos;
|
|
2741
|
-
string name;
|
|
2742
|
-
if(isScoped)
|
|
3282
|
+
// Checks if an identifier is scoped or not, and returns the corresponding token.
|
|
3283
|
+
int checkIsScoped(const string& identifier)
|
|
2743
3284
|
{
|
|
2744
|
-
|
|
3285
|
+
return identifier.find("::") == string::npos ? ICE_IDENTIFIER : ICE_SCOPED_IDENTIFIER;
|
|
2745
3286
|
}
|
|
2746
|
-
|
|
3287
|
+
}
|
|
3288
|
+
|
|
3289
|
+
namespace
|
|
3290
|
+
{
|
|
3291
|
+
void nextLine(int count)
|
|
2747
3292
|
{
|
|
2748
|
-
|
|
3293
|
+
yylineno += count;
|
|
3294
|
+
yycolno = 0;
|
|
2749
3295
|
}
|
|
2750
3296
|
|
|
2751
|
-
|
|
2752
|
-
static const string suffixBlacklist[] = { "Helper", "Holder", "Prx", "Ptr" };
|
|
2753
|
-
for(size_t i = 0; i < sizeof(suffixBlacklist) / sizeof(*suffixBlacklist); ++i)
|
|
3297
|
+
int scanPosition(const char* s)
|
|
2754
3298
|
{
|
|
2755
|
-
|
|
3299
|
+
string line(s);
|
|
3300
|
+
// Skip the leading '#', optional 'line', and any whitespace before the line number.
|
|
3301
|
+
string::size_type idx = line.find_first_not_of(" \t\r", (line.find('#') + 1));
|
|
3302
|
+
if (line.find("line", idx) == idx)
|
|
2756
3303
|
{
|
|
2757
|
-
|
|
3304
|
+
idx = line.find_first_not_of(" \t\r", (idx + 4));
|
|
2758
3305
|
}
|
|
3306
|
+
line.erase(0, idx);
|
|
3307
|
+
|
|
3308
|
+
// Read the line number
|
|
3309
|
+
int newLineNumber = stoi(line.c_str(), &idx) - 1;
|
|
3310
|
+
|
|
3311
|
+
// Scan the remainder of the line for a filename.
|
|
3312
|
+
idx = line.find_first_not_of(" \t\r", idx);
|
|
3313
|
+
line.erase(0, idx);
|
|
3314
|
+
|
|
3315
|
+
int lineTypeCode = 0;
|
|
3316
|
+
if (!line.empty())
|
|
3317
|
+
{
|
|
3318
|
+
if (line[0] == '"')
|
|
3319
|
+
{
|
|
3320
|
+
string::size_type edx = line.rfind('"');
|
|
3321
|
+
if (edx != string::npos)
|
|
3322
|
+
{
|
|
3323
|
+
line = line.substr(1, edx - 1);
|
|
3324
|
+
}
|
|
3325
|
+
else
|
|
3326
|
+
{
|
|
3327
|
+
currentUnit->error("mismatched quotations in line directive");
|
|
3328
|
+
line = line.substr(1);
|
|
3329
|
+
}
|
|
3330
|
+
}
|
|
3331
|
+
lineTypeCode = currentUnit->setCurrentFile(line, newLineNumber);
|
|
3332
|
+
yyfilename = string(line);
|
|
3333
|
+
}
|
|
3334
|
+
yylineno = newLineNumber;
|
|
3335
|
+
return lineTypeCode;
|
|
2759
3336
|
}
|
|
2760
3337
|
|
|
2761
|
-
|
|
2762
|
-
size_t index = name.find('_');
|
|
2763
|
-
if(index == 0)
|
|
3338
|
+
void setLocation(TokenContext* location)
|
|
2764
3339
|
{
|
|
2765
|
-
|
|
3340
|
+
startLocation(location);
|
|
3341
|
+
endLocation(location);
|
|
2766
3342
|
}
|
|
2767
|
-
|
|
3343
|
+
|
|
3344
|
+
void startLocation(TokenContext* location)
|
|
2768
3345
|
{
|
|
2769
|
-
|
|
3346
|
+
location->firstLine = yylineno;
|
|
3347
|
+
// The string has already been scanned, so the scanner is positioned at the end of it.
|
|
3348
|
+
location->firstColumn = yycolno - yyleng;
|
|
3349
|
+
location->filename = yyfilename;
|
|
2770
3350
|
}
|
|
2771
|
-
|
|
3351
|
+
|
|
3352
|
+
void endLocation(TokenContext* location)
|
|
2772
3353
|
{
|
|
2773
|
-
|
|
3354
|
+
location->lastLine = yylineno;
|
|
3355
|
+
location->lastColumn = yycolno;
|
|
2774
3356
|
}
|
|
2775
|
-
|
|
3357
|
+
|
|
3358
|
+
// This function is always called once, right before scanning begins.
|
|
3359
|
+
void initScanner()
|
|
2776
3360
|
{
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
3361
|
+
// Ensure the scanner starts at line number 1, column position 0.
|
|
3362
|
+
yylineno = 1;
|
|
3363
|
+
|
|
3364
|
+
keywordMap["module"] = ICE_MODULE;
|
|
3365
|
+
keywordMap["class"] = ICE_CLASS;
|
|
3366
|
+
keywordMap["interface"] = ICE_INTERFACE;
|
|
3367
|
+
keywordMap["exception"] = ICE_EXCEPTION;
|
|
3368
|
+
keywordMap["struct"] = ICE_STRUCT;
|
|
3369
|
+
keywordMap["sequence"] = ICE_SEQUENCE;
|
|
3370
|
+
keywordMap["dictionary"] = ICE_DICTIONARY;
|
|
3371
|
+
keywordMap["enum"] = ICE_ENUM;
|
|
3372
|
+
keywordMap["out"] = ICE_OUT;
|
|
3373
|
+
keywordMap["extends"] = ICE_EXTENDS;
|
|
3374
|
+
keywordMap["throws"] = ICE_THROWS;
|
|
3375
|
+
keywordMap["void"] = ICE_VOID;
|
|
3376
|
+
keywordMap["byte"] = ICE_BYTE;
|
|
3377
|
+
keywordMap["bool"] = ICE_BOOL;
|
|
3378
|
+
keywordMap["short"] = ICE_SHORT;
|
|
3379
|
+
keywordMap["int"] = ICE_INT;
|
|
3380
|
+
keywordMap["long"] = ICE_LONG;
|
|
3381
|
+
keywordMap["float"] = ICE_FLOAT;
|
|
3382
|
+
keywordMap["double"] = ICE_DOUBLE;
|
|
3383
|
+
keywordMap["string"] = ICE_STRING;
|
|
3384
|
+
keywordMap["Object"] = ICE_OBJECT;
|
|
3385
|
+
keywordMap["const"] = ICE_CONST;
|
|
3386
|
+
keywordMap["false"] = ICE_FALSE;
|
|
3387
|
+
keywordMap["true"] = ICE_TRUE;
|
|
3388
|
+
keywordMap["idempotent"] = ICE_IDEMPOTENT;
|
|
3389
|
+
keywordMap["optional"] = ICE_OPTIONAL;
|
|
3390
|
+
keywordMap["Value"] = ICE_VALUE;
|
|
3391
|
+
}
|
|
3392
|
+
|
|
3393
|
+
// This function is always called directly after a match has been made, but directly before it's action block is run.
|
|
3394
|
+
void preAction()
|
|
3395
|
+
{
|
|
3396
|
+
yycolno += yyleng;
|
|
3397
|
+
|
|
3398
|
+
// We only use the 'INITIAL' state to consume BOMs, which can only validly be the first match in a file. This
|
|
3399
|
+
// function being called means a match has already been made, so we switch states since BOMs are no longer valid.
|
|
3400
|
+
if (YY_START == INITIAL)
|
|
2780
3401
|
{
|
|
2781
|
-
|
|
3402
|
+
BEGIN(SLICE);
|
|
2782
3403
|
}
|
|
2783
3404
|
}
|
|
2784
3405
|
|
|
2785
|
-
|
|
2786
|
-
if(unit->currentIncludeLevel() == 0 && !unit->allowIcePrefix() && name.size() > 2)
|
|
3406
|
+
void printStateStack()
|
|
2787
3407
|
{
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
if(dc->findMetaData("ice-prefix") != "ice-prefix") // no 'ice-prefix' metadata
|
|
3408
|
+
(void)fprintf(stderr, "current state stack [ " );
|
|
3409
|
+
for (int i = 0; i < yy_start_stack_ptr; i++)
|
|
2791
3410
|
{
|
|
2792
|
-
|
|
2793
|
-
prefix3 += ::tolower(static_cast<unsigned char>(name[0]));
|
|
2794
|
-
prefix3 += ::tolower(static_cast<unsigned char>(name[1]));
|
|
2795
|
-
prefix3 += ::tolower(static_cast<unsigned char>(name[2]));
|
|
2796
|
-
if(prefix3 == "ice")
|
|
2797
|
-
{
|
|
2798
|
-
unit->error("illegal identifier `" + name + "': `" + name.substr(0, 3) + "' prefix is reserved");
|
|
2799
|
-
}
|
|
3411
|
+
(void)fprintf(stderr, "%d ", yy_start_stack[i]);
|
|
2800
3412
|
}
|
|
3413
|
+
(void)fprintf(stderr, "(%d) ]\n", YY_START);
|
|
2801
3414
|
}
|
|
2802
3415
|
|
|
2803
|
-
|
|
2804
|
-
|
|
3416
|
+
void pushState(int newState)
|
|
3417
|
+
{
|
|
3418
|
+
yy_push_state(newState);
|
|
3419
|
+
if (yy_flex_debug)
|
|
3420
|
+
{
|
|
3421
|
+
(void)fprintf(stderr, "--pushed: ");
|
|
3422
|
+
printStateStack();
|
|
3423
|
+
}
|
|
3424
|
+
}
|
|
3425
|
+
|
|
3426
|
+
void popState()
|
|
3427
|
+
{
|
|
3428
|
+
yy_pop_state();
|
|
3429
|
+
if (yy_flex_debug)
|
|
3430
|
+
{
|
|
3431
|
+
(void)fprintf(stderr, "--popped: ");
|
|
3432
|
+
printStateStack();
|
|
3433
|
+
}
|
|
3434
|
+
}
|
|
2805
3435
|
|
|
3436
|
+
// This function is called whenever the scanner encounters an unrecoverable error.
|
|
3437
|
+
void yynoreturn fatalError(const char* msg)
|
|
3438
|
+
{
|
|
3439
|
+
cerr << yyfilename << ":" << yylineno << ":" << yycolno << ": fatal error: " << msg << endl
|
|
3440
|
+
<< "\tlast matched text: '" << yytext << "'" << endl
|
|
3441
|
+
<< "\tlast scanner state: '" << YY_START << "'" << endl;
|
|
3442
|
+
exit(YY_EXIT_FAILURE);
|
|
3443
|
+
}
|
|
2806
3444
|
}
|
|
2807
3445
|
|