[MLton-commit] r4248
Matthew Fluet
MLton@mlton.org
Mon, 21 Nov 2005 19:03:14 -0800
Merge trunk revisions 4198:4247 into x86_64 branch
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/Makefile
U mlton/branches/on-20050822-x86_64-branch/basis-library/libs/basis-extra/top-level/basis.sig
U mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sig
U mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml
U mlton/branches/on-20050822-x86_64-branch/basis-library/posix/primitive.sml
U mlton/branches/on-20050822-x86_64-branch/bin/grab-wiki
U mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide
U mlton/branches/on-20050822-x86_64-branch/doc/README
U mlton/branches/on-20050822-x86_64-branch/doc/changelog
_U mlton/branches/on-20050822-x86_64-branch/doc/guide/
U mlton/branches/on-20050822-x86_64-branch/doc/guide/AST
U mlton/branches/on-20050822-x86_64-branch/doc/guide/AccessControl
U mlton/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Alice
U mlton/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters
U mlton/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga
U mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Bug
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToCFunctionPointer
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ChrisClearwater
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Chunkify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Closure
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ClosureConvert
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonArg
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonBlock
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonSubexp
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilationManager
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CompileTimeOptions
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerOverview
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerPassTemplate
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentMLImplementation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ConstantPropagation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Contact
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Contify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreMLSimplify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CreatingPages
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Credits
U mlton/branches/on-20050822-x86_64-branch/doc/guide/CrossCompiling
U mlton/branches/on-20050822-x86_64-branch/doc/guide/DeadCode
U mlton/branches/on-20050822-x86_64-branch/doc/guide/DeepFlatten
U mlton/branches/on-20050822-x86_64-branch/doc/guide/DefineTypeBeforeUse
U mlton/branches/on-20050822-x86_64-branch/doc/guide/DefinitionOfStandardML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Defunctorize
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Developers
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Development
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Documentation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Drawbacks
U mlton/branches/on-20050822-x86_64-branch/doc/guide/EXene
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Eclipse
U mlton/branches/on-20050822-x86_64-branch/doc/guide/EditingPages
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Elaborate
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Emacs
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Enscript
U mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityType
U mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityTypeVariable
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Experimental
U mlton/branches/on-20050822-x86_64-branch/doc/guide/FAQ
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Features
U mlton/branches/on-20050822-x86_64-branch/doc/guide/FirstClassPolymorphism
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Flatten
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ForLoops
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterface
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceSyntax
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceTypes
U mlton/branches/on-20050822-x86_64-branch/doc/guide/FrontEnd
U mlton/branches/on-20050822-x86_64-branch/doc/guide/FunctionalRecordUpdate
U mlton/branches/on-20050822-x86_64-branch/doc/guide/GarbageCollection
U mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeDatatype
U mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeException
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Globalize
U mlton/branches/on-20050822-x86_64-branch/doc/guide/GnuMP
U mlton/branches/on-20050822-x86_64-branch/doc/guide/HaMLet
U mlton/branches/on-20050822-x86_64-branch/doc/guide/HenryCejtin
U mlton/branches/on-20050822-x86_64-branch/doc/guide/History
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Home
U mlton/branches/on-20050822-x86_64-branch/doc/guide/HowProfilingWorks
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Identifier
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Immutable
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ImperativeTypeVariable
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementExceptions
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementHandlers
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementProfiling
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementSuffix
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Index
U mlton/branches/on-20050822-x86_64-branch/doc/guide/InfixingOperators
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Inline
U mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertLimitChecks
U mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertSignalChecks
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Installation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/IntermediateLanguage
U mlton/branches/on-20050822-x86_64-branch/doc/guide/IntroduceLoops
U mlton/branches/on-20050822-x86_64-branch/doc/guide/JesperLouisAndersen
U mlton/branches/on-20050822-x86_64-branch/doc/guide/JohnnyAndersen
U mlton/branches/on-20050822-x86_64-branch/doc/guide/KnownCase
U mlton/branches/on-20050822-x86_64-branch/doc/guide/LambdaFree
U mlton/branches/on-20050822-x86_64-branch/doc/guide/LanguageChanges
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Lazy
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Libraries
U mlton/branches/on-20050822-x86_64-branch/doc/guide/License
U mlton/branches/on-20050822-x86_64-branch/doc/guide/LineDirective
U mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalFlatten
U mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalRef
U mlton/branches/on-20050822-x86_64-branch/doc/guide/LoopInvariant
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasis
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotationExamples
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotations
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAvailableLibraries
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisExamples
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisPathMap
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisSyntaxAndSemantics
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLKit
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFI
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFIImplementation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLj
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonArray
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonBinIO
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonCont
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonExn
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonFinalizable
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonGC
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIO
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIntInf
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonItimer
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPlatform
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPointer
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcEnv
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcess
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProfile
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRandom
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRlimit
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRusage
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSignal
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSocket
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonStructure
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSyslog
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonTextIO
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonThread
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonVector
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWeak
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWord
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWorld
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Machine
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ManualPage
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompilation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompile
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MatthewFluet
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MichaelNorrish
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MikeThomas
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MoinMoin
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Monomorphise
U mlton/branches/on-20050822-x86_64-branch/doc/guide/MoscowML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Multi
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Mutable
U mlton/branches/on-20050822-x86_64-branch/doc/guide/OCaml
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ObjectOrientedProgramming
U mlton/branches/on-20050822-x86_64-branch/doc/guide/OpenGL
U mlton/branches/on-20050822-x86_64-branch/doc/guide/OperatorPrecedence
U mlton/branches/on-20050822-x86_64-branch/doc/guide/OptionalArguments
U mlton/branches/on-20050822-x86_64-branch/doc/guide/OrphanedPages
U mlton/branches/on-20050822-x86_64-branch/doc/guide/OtherSites
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Overloading
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PackedRepresentation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PageSize
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Papers
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ParallelMove
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Performance
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PhantomType
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PlatformSpecificNotes
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyEqual
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PolymorphicEquality
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Polyvariance
A mlton/branches/on-20050822-x86_64-branch/doc/guide/Poplog
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PortingMLton
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PrecedenceParse
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Printf
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PrintfGentle
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ProductType
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Profiling
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingAllocation
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingCounts
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTheStack
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTime
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Projects
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Pronounce
U mlton/branches/on-20050822-x86_64-branch/doc/guide/PropertyList
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSA
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSAShrink
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSASimplify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RayRacine
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Redundant
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RedundantTests
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RefFlatten
U mlton/branches/on-20050822-x86_64-branch/doc/guide/References
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Regions
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ReleaseChecklist
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RemoveUnused
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Restore
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunTimeOptions
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnCygwin
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnDarwin
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnFreeBSD
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnLinux
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnMinGW
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnNetBSD
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnOpenBSD
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnPowerPC
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSolaris
U mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSparc
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNET
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJ
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJDeviations
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJLibrary
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLofNJStructure
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2Simplify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SSASimplify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SXML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLShrink
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLSimplify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ScopeInference
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SelfCompiling
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Serialization
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ShowBasis
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Shrink
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SimplifyTypes
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Sources
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SpaceSafety
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLBooks
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLHistory
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLImplementations
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLPortability
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLTutorials
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StephenWeeks
U mlton/branches/on-20050822-x86_64-branch/doc/guide/StyleGuide
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Subversion
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SureshJagannathan
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Survey
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SurveyDone
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Swerve
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SyntacticConventions
U mlton/branches/on-20050822-x86_64-branch/doc/guide/SystemInfo
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TILT
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Talk
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkDiveIn
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFolkLore
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFromSMLTo
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowHigherOrder
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowModules
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowPolymorphism
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonApproach
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonFeatures
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonHistory
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkStandardML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkTemplate
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkWholeProgram
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ToMachine
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ToRSSA
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ToSSA2
A mlton/branches/on-20050822-x86_64-branch/doc/guide/TomMurphy
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TrustedGroup
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeChecking
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeConstructor
U mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeVariableScope
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Unicode
U mlton/branches/on-20050822-x86_64-branch/doc/guide/UniversalType
U mlton/branches/on-20050822-x86_64-branch/doc/guide/UnresolvedBugs
U mlton/branches/on-20050822-x86_64-branch/doc/guide/UnsafeStructure
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Useless
U mlton/branches/on-20050822-x86_64-branch/doc/guide/UserGuide
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Users
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ValueRestriction
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Variant
U mlton/branches/on-20050822-x86_64-branch/doc/guide/VesaKarvonen
U mlton/branches/on-20050822-x86_64-branch/doc/guide/WantedPages
U mlton/branches/on-20050822-x86_64-branch/doc/guide/WebSite
U mlton/branches/on-20050822-x86_64-branch/doc/guide/WesleyTerpstra
U mlton/branches/on-20050822-x86_64-branch/doc/guide/WholeProgramOptimization
U mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiMacros
U mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiName
U mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiTool
U mlton/branches/on-20050822-x86_64-branch/doc/guide/XML
U mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLShrink
U mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplify
U mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplifyTypes
U mlton/branches/on-20050822-x86_64-branch/doc/guide/ZZZOrphanedPages
U mlton/branches/on-20050822-x86_64-branch/doc/guide/Zone
A mlton/branches/on-20050822-x86_64-branch/doc/guide/fxp
U mlton/branches/on-20050822-x86_64-branch/doc/guide/index.html
U mlton/branches/on-20050822-x86_64-branch/doc/guide/mGTK
A mlton/branches/on-20050822-x86_64-branch/doc/guide/moin-news.png
U mlton/branches/on-20050822-x86_64-branch/include/c-chunk.h
U mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/Makefile
U mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch
U mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.tgz
U mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/Makefile
U mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch
U mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.tgz
U mlton/branches/on-20050822-x86_64-branch/mlton/backend/backend.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/backend/machine.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/backend/profile.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/backend/rep-type.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig
U mlton/branches/on-20050822-x86_64-branch/mlton/codegen/c-codegen/c-codegen.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sig
U mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sml
U mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-mlbs.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/main/compile.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun
U mlton/branches/on-20050822-x86_64-branch/mlton/main/main.fun
U mlton/branches/on-20050822-x86_64-branch/package/debian/control
U mlton/branches/on-20050822-x86_64-branch/runtime/Posix/ProcEnv/setgroups.c
U mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.c
U mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.h
U mlton/branches/on-20050822-x86_64-branch/runtime/gc/sources.h
U mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb-map
U mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb.sml
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/Makefile 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/Makefile 2005-11-22 03:02:45 UTC (rev 4248)
@@ -150,6 +150,9 @@
docs: dirs
$(MAKE) -C $(LEX) docs
$(MAKE) -C $(YACC) docs
+ if htmldoc --version >/dev/null 2>&1; then \
+ bin/make-pdf-guide; \
+ fi
BSDSRC = /tmp/mlton-$(VERSION)
.PHONY: freebsd
@@ -420,6 +423,7 @@
cd $(SRC)/doc && \
$(CP) changelog examples guide license README $(TDOC)/ \
)
+ mv $(TDOC)/guide/mlton-guide.pdf $(TDOC)/
( \
cd $(SRC)/util && \
$(CP) cmcat cm2mlb $(TDOC)/ \
Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/libs/basis-extra/top-level/basis.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/libs/basis-extra/top-level/basis.sig 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/libs/basis-extra/top-level/basis.sig 2005-11-22 03:02:45 UTC (rev 4248)
@@ -319,6 +319,7 @@
sharing type MLton.IntInf.t = IntInf.int
sharing type MLton.Process.pid = Posix.Process.pid
+ sharing type MLton.ProcEnv.gid = Posix.ProcEnv.gid
sharing type MLton.Signal.t = Posix.Signal.signal
sharing type MLton.Word.t = Word.word
sharing type MLton.Word8.t = Word8.word
Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sig 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sig 2005-11-22 03:02:45 UTC (rev 4248)
@@ -8,6 +8,8 @@
signature MLTON_PROC_ENV =
sig
+ type gid
+
val setenv: {name: string, value: string} -> unit
- val setgroups: Posix.ProcEnv.gid list -> unit
+ val setgroups: gid list -> unit
end
Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/proc-env.sml 2005-11-22 03:02:45 UTC (rev 4248)
@@ -8,6 +8,8 @@
structure MLtonProcEnv: MLTON_PROC_ENV =
struct
+ type gid = PosixPrimitive.ProcEnv.gid
+
fun setenv {name, value} =
let
val name = NullString.nullTerm name
Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/posix/primitive.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/posix/primitive.sml 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/posix/primitive.sml 2005-11-22 03:02:45 UTC (rev 4248)
@@ -269,7 +269,7 @@
val setenv =
_import "Posix_ProcEnv_setenv": NullString.t * NullString.t -> int;
val setgid = _import "Posix_ProcEnv_setgid": gid -> int;
- val setgroups = _import "Posix_ProcEnv_getgroups": gid array -> int;
+ val setgroups = _import "Posix_ProcEnv_setgroups": gid array -> int;
val setpgid = _import "Posix_ProcEnv_setpgid": Pid.t * Pid.t -> int;
val setsid = _import "Posix_ProcEnv_setsid": unit -> Pid.t;
val setuid = _import "Posix_ProcEnv_setuid": uid -> int;
Modified: mlton/branches/on-20050822-x86_64-branch/bin/grab-wiki
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/grab-wiki 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/bin/grab-wiki 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,11 +26,11 @@
TIMEFORMAT=' Took %lR.'
base='http://mlton.org'
-version=`date +%Y%m%d`
-
index='.index'
script='.script'
tmp='.tmp'
+useLocal='false'
+version=`date +%Y%m%d`
cd "$src/doc/guide"
@@ -38,7 +38,9 @@
drop='\(Download\|.*MoinEditorBackup\|OldPages\|Preferences\|RecentChanges\|TemporaryBugExamples\|TemporaryUpload\|WikiSandBox\)'
-#if true; then (cd $HOME/mlton/guide-in && tar.write .) | tar.read; else
+if $useLocal; then
+ (cd $HOME/mlton/guide-in && tar.write .) | tar.read;
+else
echo "Getting index:"
lynx -dump "$base/Index?action=titleindex" | \
grep -v >$index -e '^$' -e "^$drop$"
@@ -55,7 +57,7 @@
for f in bottom email ftp news top www; do
wget -c $base/wiki/mlton/img/moin-$f.png
done
-#fi
+fi
echo "Fixing pages:"
@@ -80,6 +82,8 @@
s;<link[^>]* href *= *"[^"]*?action[^"]*">;;g
# Add version stamp in upper left.
s;<a class = mltona\(.*\)>MLton</a>;<a class = mltona\1>MLton $version</a>;
+# Replace ViewSVN references to trunk with references to release tag.
+s;\(<a href = \"http://mlton.org/cgi-bin/viewsvn\.cgi.*/mlton/\)trunk\([^>]*\)>;\1tags/on-$version-release\2>;g
# Fix wiki hrefs and srcs
s; \(href\|src\) *= *"\(/pages/[^"]*\)"; \1="$base\2";g
s; \(href\|src\) *= *"/\([^"]\+\)"; \1="\2";g
Modified: mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/bin/make-pdf-guide 2005-11-22 03:02:45 UTC (rev 4248)
@@ -1,7 +1,6 @@
#!/bin/sh
set -e
-set -x
name=`basename $0`
dir=`dirname $0`
@@ -24,10 +23,114 @@
;;
esac
-tmp='/tmp/guide'
+book='mlton.book'
+pages='.pages'
+pdf='mlton-guide.pdf'
+script='.script'
+titlepage='title.html'
+tmp='/tmp/mlton-guide'
+version=`date +%Y%m%d`
+
rm -rf $tmp
mkdir $tmp
+cd $tmp
-( cd $src/doc/guide && tar -cf - . ) | ( cd $tmp && tar -xf - )
-yes | time html2ps -DHnRtTU -C fb -W bL http://localhost/guide/ >guide.ps 2>/tmp/z.log
-ps2pdf guide.ps
+( cd $src/doc/guide && tar -cf - . ) | tar -xf -
+
+# The grep -v takes out files that aren't wiki pages.
+ls -1 | grep -v '\.' >$pages
+
+echo 'Massaging HTML.'
+
+for f in `cat $pages`; do
+cat >$script <<EOF
+/^<table bgcolor = lightblue/,+29d
+s;\(<body .*\);\1\n<h1>$f</h1>;
+s;<FONT[^>]*>;;g
+s;</FONT>;;g
+s;\(<div id="content"\);\1;
+s;<td colspan = 3;<td align = right;
+s;<img src=\"\(http://mlton.org[^>]*\)>;<img src="moin-www.png"><a href=\"\1>image</a>;g
+EOF
+ sed -f $script <$f >.tmp
+ mv .tmp $f
+done
+
+echo 'Generating PDF titlepage.'
+cat >$titlepage <<EOF
+<html>
+<head><title>MLton Guide ($version)</title></head>
+<body>
+<h1>MLton Guide</h1>
+<p>
+This is the guide for MLton, an open-source, whole-program,
+optimizing Standard ML compiler.
+</p>
+
+<p>
+This guide was generated automatically from the MLton wiki,
+available online at <a href="http://mlton.org/">http://mlton.org</a>.
+It is up to date for MLton $version.
+</p>
+
+</body>
+</html>
+EOF
+
+echo 'Generating htmldoc script.'
+(
+cat <<EOF
+#HTMLDOC 1.8.24 Open Source
+-f $pdf
+-t pdf13
+--bodyfont times
+--bottom 0.50in
+--browserwidth 680
+--charset iso-8859-1
+--color
+--compression=9
+--effectduration 1.0
+--embedfonts
+--firstpage p1
+--fontsize 11.0
+--fontspacing 1.2
+--footer ..1
+--header t.c
+--headfootfont Helvetica
+--headfootsize 11.0
+--headingfont Helvetica
+--jpeg=0
+--left 1.00in
+--links
+--linkstyle underline
+--no-encryption
+--no-pscommands
+--no-strict
+--no-xrxcomments
+--nup 1
+--pageduration 10
+--pageeffect none
+--pagelayout single
+--pagemode document
+--portrait
+--right 0.50in
+--size Universal
+--title
+--top 0.50in
+--webpage
+$titlepage
+Home
+Index
+EOF
+
+grep -v '^\(Home\|Index\)$' $pages
+) >$book
+
+echo 'Running htmldoc.'
+htmldoc --batch $book
+
+mv $pdf $src/doc/guide
+
+cd
+
+rm -rf $tmp
Modified: mlton/branches/on-20050822-x86_64-branch/doc/README
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/README 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/README 2005-11-22 03:02:45 UTC (rev 4248)
@@ -2,8 +2,9 @@
programming language. MLton has the following features.
+ Runs on a variety of platforms.
+ o HPPA: Debian
o PowerPC: Debian, Mac OSX
- o X86: Linux, Cygwin/Windows, FreeBSD, NetBSD, OpenBSD
+ o X86: Linux, Cygwin/Windows, FreeBSD, MinGW/Windows, NetBSD, OpenBSD
o Sparc: Debian, Solaris.
+ Generates standalone executables with excellent running times.
+ Supports the full SML 97 language.
@@ -24,19 +25,22 @@
For more information, go to the MLton home page.
- http://www.mlton.org/
+ http://mlton.org/
-For general MLton discussion, send mail to MLton-user@mlton.org. To
-send mail to the MLton developers, use MLton@mlton.org.
+There are two mailing lists available.
+ * MLton@mlton.org MLton developers
+ * MLton-user@mlton.org MLton user community
+
doc directory contents:
README this file
changelog changelog
cm2mlb/ a utility for producing ML Basis programs in SML/NJ
cmcat/ a utility for producing whole programs in SML/NJ
examples/ example SML programs
- guide/ MLton guide
+ guide/ HTML MLton guide (copy of the MLton wiki)
license/ license information
mllex.ps.gz user guide for mllex lexer generator
+ mlton-guide.pdf PDF version of MLton guide
mlyacc.ps.gz user guide for mlyacc parser generator
Modified: mlton/branches/on-20050822-x86_64-branch/doc/changelog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/changelog 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/changelog 2005-11-22 03:02:45 UTC (rev 4248)
@@ -1,5 +1,16 @@
Here are the changes since version 20041109.
+* 2005-11-19
+ - Updated SML/NJ Library and CKit Library from SML/NJ 110.57.
+
+* 2005-11-15
+ - Fixed a bug in MLton.ProcEnv.setgroups.
+
+* 2005-11-11
+ - Fixed a bug in the interleaving of lexing/parsing and elaborating of
+ ML Basis files, which would raise an unhandled Force exception on
+ cyclic basis references. Thanks to John Dias for the bug report.
+
* 2005-11-10
- Fixed two bugs in Time.scan. One would raise Time on a string with a
large fractional component. Thanks to Carsten Varming for the bug
Property changes on: mlton/branches/on-20050822-x86_64-branch/doc/guide
___________________________________________________________________
Name: svn:ignore
+ mlton-guide.pdf
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/AST
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AST 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AST 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,22 +55,22 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ast/ast-programs.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ast/ast-programs.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ast/ast-programs.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ast/ast-programs.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-programs.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ast/ast-modules.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ast/ast-modules.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ast/ast-modules.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ast/ast-modules.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-modules.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ast/ast-core.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ast/ast-core.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ast/ast-core.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ast/ast-core.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast-core.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ast"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ast"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ast</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
The AST <a href="IntermediateLanguage">IntermediateLanguage</a> has no independent type checker. Type inference is performed on an AST program as part of <a href="Elaborate">Elaborate</a>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/AccessControl
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AccessControl 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AccessControl 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AdmitsEquality 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Alice
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Alice 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Alice 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AllocateRegisters 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ZZZ.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ZZZ.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/allocate-registers.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">allocate-registers.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ZZZ.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ZZZ.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/allocate-registers.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">allocate-registers.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
@@ -65,5 +65,5 @@
<p>
<hr>
-Last edited on 2005-08-19 15:43:18 by <span title="cfs32.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-11-14 23:11:30 by <span title="fox.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/AndreiFormiga 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/BasisLibrary 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,7 +49,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-The <a href="StandardML">Standard ML</a> Basis Library is a collection of modules dealing with basic types, input/output, OS interfaces, and simple datatypes. It is intended as a portable library usable across all implementations of SML. The official online version of the Basis Library specification is at <a href="http://www.standardml.org/Basis/">http://www.standardml.org/Basis/</a>. We keep a copy at <a href="http://mlton.org/basis/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/basis/</a>. There is a <a href = "References#GansnerReppy04"> book</a> that includes all of the online version and more. For a reverse chronological list of changes to the specification, see <a href="http://www.standardml.org/Basis/history.html">http://www.standardml.org/Basis/history.html</a>. <p>
+The <a href="StandardML">Standard ML</a> Basis Library is a collection of modules dealing with basic types, input/output, OS interfaces, and simple datatypes. It is intended as a portable library usable across all implementations of SML. The official online version of the Basis Library specification is at <a class="external" href="http://www.standardml.org/Basis/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://www.standardml.org/Basis/</a>. We keep a copy at <a class="external" href="http://mlton.org/basis/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/basis/</a>. There is a <a href = "References#GansnerReppy04"> book</a> that includes all of the online version and more. For a reverse chronological list of changes to the specification, see <a class="external" href="http://www.standardml.org/Basis/history.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://www.standardml.org/Basis/history.html</a>. <p>
MLton implements all of the required portions of the Basis Library. MLton also implements many of the optional structures. You can obtain a complete and current list of what's available using <tt>mlton -show-basis</tt> (see <a href="ShowBasis">ShowBasis</a>). By default, MLton makes the Basis Library available to user programs. You can also <a href="MLBasisAvailableLibraries">access the Basis Library</a> from <a href="MLBasis"> ML Basis</a> files.
</p>
<p>
@@ -425,5 +425,5 @@
<p>
<hr>
-Last edited on 2005-01-28 21:49:35 by <span title="cfs36.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:28:14 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Bug
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Bug 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Bug 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,7 +49,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-To report a bug, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">MLton@mlton.org</a>. Please include the complete SML program that caused the problem and a log of a compile of the program with <tt>-verbose 2</tt>. For large messages (over 512K), please send an email containing the discussion text and a link to any large files. You may use our <a href="http://mlton.org/TemporaryUpload"><img src="moin-www.png" alt="[WWW]" height="11" width="11">TemporaryUpload</a> page for uploading large files. <p>
+To report a bug, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton@mlton.org</a>. Please include the complete SML program that caused the problem and a log of a compile of the program with <tt>-verbose 2</tt>. For large messages (over 512K), please send an email containing the discussion text and a link to any large files. You may use our <a href="http://mlton.org/TemporaryUpload"><img src="moin-www.png" alt="[WWW]" height="11" width="11">TemporaryUpload</a> page for uploading large files. <p>
There are some <a href="UnresolvedBugs">UnresolvedBugs</a> that we don't plan to fix.
</p>
<p>
@@ -71,5 +71,5 @@
<p>
<hr>
-Last edited on 2005-08-31 23:32:42 by <span title="adsl-64-166-226-67.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:18:45 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Bugs20041109 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CKitLibrary 2005-11-22 03:02:45 UTC (rev 4248)
@@ -27,7 +27,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -167,7 +167,7 @@
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/lib/ckit-lib/ckit.patch?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ckit.patch</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/lib/ckit-lib/ckit.patch?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ckit.patch</a>
</p>
</li>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CallGraph 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromCToSML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -176,7 +176,9 @@
<p>
Compile <tt>ffi-export.c</tt> and <tt>export.sml</tt>.
<pre>% gcc -c ffi-export.c
-% mlton -default-ann 'allowExport true' -default-ann 'allowImport true' export.sml ffi-export.o
+% mlton -default-ann 'allowExport true' \
+ -default-ann 'allowImport true' \
+ export.sml ffi-export.o
</pre>
</p>
<p>
@@ -195,14 +197,14 @@
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/trunk/doc/examples/ffi/export.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">export.sml</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051115-release/doc/examples/ffi/export.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">export.sml</a>
</p>
</li>
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/trunk/doc/examples/ffi/ffi-export.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-export.c</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051115-release/doc/examples/ffi/ffi-export.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-export.c</a>
</p>
</li>
@@ -214,5 +216,5 @@
<p>
<hr>
-Last edited on 2005-08-09 07:31:39 by <span title="pool-71-243-2-249.bos.east.verizon.net"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-11-13 23:08:49 by <span title="pool-68-162-172-153.pitt.east.verizon.net">AdamGoode</span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToC 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -134,14 +134,14 @@
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/trunk/doc/examples/ffi/import.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">import.sml</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051115-release/doc/examples/ffi/import.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">import.sml</a>
</p>
</li>
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/trunk/doc/examples/ffi/ffi-import.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-import.c</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051115-release/doc/examples/ffi/ffi-import.c"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ffi-import.c</a>
</p>
</li>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToCFunctionPointer
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToCFunctionPointer 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CallingFromSMLToCFunctionPointer 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -210,7 +210,7 @@
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/trunk/doc/examples/ffi/iimport.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">iimport.sml</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051115-release/doc/examples/ffi/iimport.sml"><img src="moin-www.png" alt="[WWW]" height="11" width="11">iimport.sml</a>
</p>
</li>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ChrisClearwater
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ChrisClearwater 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ChrisClearwater 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Chunkify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Chunkify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Chunkify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/chunkify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">chunkify.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/chunkify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">chunkify.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/chunkify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">chunkify.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/chunkify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">chunkify.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Breaking large <a href="RSSA">RSSA</a> functions into chunks is necessary for reasonable <tt>gcc</tt> compile times with the <a class="nonexistent" href="CCodegen">CCodegen</a>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Closure
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Closure 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Closure 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ClosureConvert
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ClosureConvert 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ClosureConvert 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -61,9 +61,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/closure-convert/closure-convert.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">closure-convert.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/closure-convert/closure-convert.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">closure-convert.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/closure-convert/closure-convert.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">closure-convert.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/closure-convert/closure-convert.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">closure-convert.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonArg
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonArg 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonArg 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -82,9 +82,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/common-arg.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-arg.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/common-arg.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-arg.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/common-arg.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-arg.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/common-arg.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-arg.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Three analyses were originally proposed to drive the optimization transformation. Only the <em>Dominator Analysis</em> is currently implemented. (Implementations of the other analyses are available in the Subversion repository.)
@@ -209,7 +209,8 @@
<pre>nodes(G) = {Root} U Var.t
edges(G) = {Root -> v | v bound in a Statement.t or
in the Function.t args} U
- {xi -> ai | L(x1, ..., xn) transfer where (a1, ..., an) are the formals of L} U
+ {xi -> ai | L(x1, ..., xn) transfer where (a1, ..., an)
+ are the formals of L} U
{Root -> a | a is a block argument used in an unknown context}
</pre>
</ul>
@@ -254,5 +255,5 @@
<p>
<hr>
-Last edited on 2005-08-19 15:42:33 by <span title="cfs32.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-11-13 23:14:11 by <span title="pool-68-162-172-153.pitt.east.verizon.net">AdamGoode</span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonBlock
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonBlock 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonBlock 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/common-block.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-block.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/common-block.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-block.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/common-block.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-block.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/common-block.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-block.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<ul>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonSubexp
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonSubexp 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CommonSubexp 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,18 +49,15 @@
</table>
<div id="content" lang="en" dir="ltr">
+An optimization pass for the <a href="SSA">SSA</a> <a href="IntermediateLanguage">IntermediateLanguage</a>, invoked from <a href="SSASimplify">SSASimplify</a>. <h2 id="head-55f8ebc805e65b5b71ddafdae390e3be2bcd69af">Description</h2>
<p>
-An optimization pass for the <a href="SSA">SSA</a> <a href="IntermediateLanguage">IntermediateLanguage</a>, invoked from <a href="SSASimplify">SSASimplify</a>.
-</p>
-<h2 id="head-55f8ebc805e65b5b71ddafdae390e3be2bcd69af">Description</h2>
-<p>
Eliminate instances of common subexpressions.
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/common-subexp.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-subexp.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/common-subexp.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-subexp.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/common-subexp.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-subexp.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/common-subexp.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">common-subexp.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
In addition to getting the usual sorts of things like
@@ -113,7 +110,8 @@
<pre> val l = (n + m) + (n + m)
- val k = (l + n) + ((l + m) handle Overflow => ((l + m) handle Overflow => l + n))
+ val k = (l + n) + ((l + m) handle Overflow => ((l + m)
+ handle Overflow => l + n))
</pre> is rewritten so that <tt>(n + m)</tt> is computed exactly once, as
</p>
</li>
@@ -130,5 +128,5 @@
<p>
<hr>
-Last edited on 2005-08-19 15:41:48 by <span title="cfs32.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-11-13 23:15:26 by <span title="pool-68-162-172-153.pitt.east.verizon.net">AdamGoode</span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilationManager
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilationManager 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilationManager 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CompileTimeOptions
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CompileTimeOptions 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CompileTimeOptions 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -314,7 +314,21 @@
<ul>
- Pass argument to the runtime system via <tt>@MLton</tt>. The argument will be processed before other <tt>@MLton</tt> command line switches. Multiple uses of <tt>-runtime</tt> are allowed, and will pass all the arguments in order. If the same runtime switch occurs more than once, then the last setting will take effect.
+ Pass argument to the runtime system via <tt>@MLton</tt>. The argument will be processed before other <tt>@MLton</tt> command line switches. Multiple uses of <tt>-runtime</tt> are allowed, and will pass all the arguments in order. If the same runtime switch occurs more than once, then the last setting will take effect. There is no need to supply the leading <tt>@MLton</tt> or the trailing <tt>--</tt>; these will be supplied automatically. <p>
+ An argument to <tt>-runtime</tt> may contain spaces, which will cause the argument to be treated as a sequence of words by the runtime. For example the command line
+</p>
+
+<pre>mlton -runtime 'ram-slop 0.4' foo.sml</pre><p>
+ is effectively the same as
+</p>
+
+<pre>foo @MLton ram-slop 0.4 --</pre><p>
+ An executable created with <tt>-runtime stop</tt> doesn't process any <tt>@MLton</tt> arguments. This is useful to create an executable, e.g. <tt>echo</tt>, that must treat <tt>@MLton</tt> like any other command-line argument.
+</p>
+
+<pre>% mlton -runtime stop echo.sml
+% echo @MLton --
+@MLton --</pre>
</ul>
@@ -487,5 +501,5 @@
<p>
<hr>
-Last edited on 2005-09-05 21:54:58 by <span title="adsl-64-166-225-193.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-27 18:15:36 by <span title="adsl-64-170-115-30.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerOverview
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerOverview 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerOverview 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -259,9 +259,9 @@
<p>
The <tt>Compile</tt> functor (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/main/compile.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">compile.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/main/compile.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">compile.sig</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/main/compile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">compile.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/main/compile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">compile.fun</a>
), controls the high-level view of the compiler passes, from <a href="FrontEnd">FrontEnd</a> to code generation.
</p>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerPassTemplate
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerPassTemplate 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CompilerPassTemplate 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ZZZ.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ZZZ.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ZZZ.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ZZZ.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ZZZ.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ZZZ.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ZZZ.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ZZZ.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Relevant details and notes.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentMLImplementation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentMLImplementation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ConcurrentMLImplementation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -269,7 +269,7 @@
<ul>
- <a href="http://mlton.org/pipermail/mlton/2004-May/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-May/</a>
+ <a class="external" href="http://mlton.org/pipermail/mlton/2004-May/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-May/</a>
</ul>
@@ -282,5 +282,5 @@
<p>
<hr>
-Last edited on 2004-12-03 00:24:53 by <span title="adsl-67-124-249-200.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:28:35 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ConstantPropagation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ConstantPropagation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ConstantPropagation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -61,9 +61,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/constant-propagation.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">constant-propagation.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/constant-propagation.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">constant-propagation.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/constant-propagation.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">constant-propagation.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/constant-propagation.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">constant-propagation.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Contact
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Contact 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Contact 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -102,7 +102,7 @@
<li>
<p>
- Some MLton developers and users are in channel <tt>#sml</tt> on <a href="http://freenode.net">http://freenode.net</a>.
+ Some MLton developers and users are in channel <tt>#sml</tt> on <a class="external" href="http://freenode.net"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://freenode.net</a>.
</p>
</li>
</ul>
@@ -113,5 +113,5 @@
<p>
<hr>
-Last edited on 2005-08-31 23:32:20 by <span title="adsl-64-166-226-67.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:18:54 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Contify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Contify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Contify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/contify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">contify.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/contify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">contify.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/contify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">contify.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/contify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">contify.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
See <a href = "References#FluetWeeks01">Contification Using Dominators</a>. The intermediate language described in that paper has since evolved to the <a href="SSA">SSA</a> <a href="IntermediateLanguage">IntermediateLanguage</a>; hence, the complication described in Section 6.1 is no longer relevant.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/core-ml/core-ml.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">core-ml.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/core-ml/core-ml.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">core-ml.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/core-ml/core-ml.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">core-ml.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/core-ml/core-ml.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">core-ml.fun</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
The CoreML <a href="IntermediateLanguage">IntermediateLanguage</a> has no independent type checker.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreMLSimplify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreMLSimplify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CoreMLSimplify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -50,7 +50,7 @@
</table>
<div id="content" lang="en" dir="ltr">
The single optimization pass for the <a href="CoreML">CoreML</a> <a href="IntermediateLanguage">IntermediateLanguage</a> is controlled by the <tt>Compile</tt> functor (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/main/compile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">compile.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/main/compile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">compile.fun</a>
). <p>
The following optimization pass is implemented:
</p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CreatingPages
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CreatingPages 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CreatingPages 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Credits
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Credits 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Credits 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -129,7 +129,7 @@
</li>
<li class="gap">
<p>
- Tom Murphy wrote the original version of <tt>MLton.Syslog</tt> as part of his <tt>mlftpd</tt> project, and has sent many useful bug reports and suggestions.
+ <a href="TomMurphy">TomMurphy</a> wrote the original version of <tt>MLton.Syslog</tt> as part of his <tt>mlftpd</tt> project, and has sent many useful bug reports and suggestions.
</p>
</li>
<li class="gap">
@@ -230,5 +230,5 @@
<p>
<hr>
-Last edited on 2005-08-30 05:33:54 by <span title="adsl-64-166-226-67.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-27 15:46:17 by <span title="adsl-64-170-115-30.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/CrossCompiling
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/CrossCompiling 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/CrossCompiling 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/DeadCode
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/DeadCode 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/DeadCode 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/core-ml/dead-code.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">dead-code.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/core-ml/dead-code.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">dead-code.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/core-ml/dead-code.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">dead-code.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/core-ml/dead-code.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">dead-code.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
In order to compile small programs rapidly, a pass of dead code elimination is run in order to eliminate as much of the Basis Library as possible. The dead code elimination algorithm used is not safe in general, and only works because the Basis Library implementation has special properties:
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/DeepFlatten
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/DeepFlatten 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/DeepFlatten 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -61,9 +61,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/deep-flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">deep-flatten.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/deep-flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">deep-flatten.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/deep-flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">deep-flatten.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/deep-flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">deep-flatten.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/DefineTypeBeforeUse
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/DefineTypeBeforeUse 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/DefineTypeBeforeUse 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/DefinitionOfStandardML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/DefinitionOfStandardML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/DefinitionOfStandardML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Defunctorize
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Defunctorize 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Defunctorize 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -87,9 +87,9 @@
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/defunctorize/defunctorize.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">defunctorize.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/defunctorize/defunctorize.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">defunctorize.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/defunctorize/defunctorize.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">defunctorize.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/defunctorize/defunctorize.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">defunctorize.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
This pass is grossly misnamed (a consequence of the implementation of an <a href="Elaborate">Elaborate</a> pass that follows the <a href="DefinitionOfStandardML"> Definition</a> and produces readable error messages).
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Developers
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Developers 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Developers 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Development
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Development 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Development 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Documentation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Documentation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Documentation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -29,7 +29,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Drawbacks
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Drawbacks 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Drawbacks 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/EXene
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/EXene 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/EXene 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Eclipse
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Eclipse 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Eclipse 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/EditingPages
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/EditingPages 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/EditingPages 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Elaborate
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Elaborate 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Elaborate 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,27 +55,27 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate-env.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-env.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate-env.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-env.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate-env.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-env.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate-env.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-env.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate-modules.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-modules.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate-modules.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-modules.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate-modules.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-modules.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate-modules.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-modules.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate-core.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-core.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate-core.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-core.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/elaborate-core.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-core.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/elaborate-core.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate-core.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate"><img src="moin-www.png" alt="[WWW]" height="11" width="11">elaborate</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
At the modules level, the Elaborate pass:
@@ -86,9 +86,9 @@
<li>
<p>
elaborates signatures with interfaces (see
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/interface.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">interface.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/interface.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">interface.sig</a>
and
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/interface.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">interface.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/interface.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">interface.fun</a>
).
</p>
</li>
@@ -120,9 +120,9 @@
<ul>
This is implemented by building a dummy structure realized from the signature, just as we would for a functor argument when type checking a functor. The dummy structure contains exactly the type information that is in the signature, which is what opacity requires. We then replace the variables (and constructors) in the dummy structure with the corresponding variables (and constructors) from the actual structure so that the translation to <a href="CoreML">CoreML</a> uses the right stuff. For each tycon in the dummy structure, we keep track of the corresponding type structure in the actual structure. This is used when producing the <a href="CoreML">CoreML</a> types (see <tt>expandOpaque</tt> in
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/type-env.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-env.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/type-env.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-env.sig</a>
and
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/type-env.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-env.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/type-env.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-env.fun</a>
).
</ul>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Emacs
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Emacs 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Emacs 2005-11-22 03:02:45 UTC (rev 4248)
@@ -27,7 +27,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -68,12 +68,12 @@
<li>
<p>
- <a href="http://www.xemacs.org/Documentation/packages/html/sml-mode_3.html">http://www.xemacs.org/Documentation/packages/html/sml-mode_3.html</a>
+ <a class="external" href="http://www.xemacs.org/Documentation/packages/html/sml-mode_3.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://www.xemacs.org/Documentation/packages/html/sml-mode_3.html</a>
</p>
</li>
<li>
<p>
- <a href="http://www.smlnj.org/doc/Emacs/sml-mode.html">http://www.smlnj.org/doc/Emacs/sml-mode.html</a>
+ <a class="external" href="http://www.smlnj.org/doc/Emacs/sml-mode.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://www.smlnj.org/doc/Emacs/sml-mode.html</a>
</p>
</li>
@@ -83,13 +83,13 @@
<li class="gap">
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/emacs/mlton.el?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">mlton.el</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/emacs/mlton.el?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">mlton.el</a>
contains the Emacs lisp that <a href="StephenWeeks">StephenWeeks</a> uses to interact with MLton (in addition to using <tt>sml-mode</tt>).
</p>
</li>
<li class="gap">
<p>
- <a href="http://primate.net/~itz/mindent.tar">http://primate.net/~itz/mindent.tar</a>, developed by Ian Zimmerman, who writes:
+ <a class="external" href="http://primate.net/~itz/mindent.tar"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://primate.net/~itz/mindent.tar</a>, developed by Ian Zimmerman, who writes:
</p>
</li>
@@ -113,7 +113,7 @@
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/emacs/esml-mlb-mode.el?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">esml-mlb-mode.el</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/emacs/esml-mlb-mode.el?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">esml-mlb-mode.el</a>
</p>
</li>
@@ -158,5 +158,5 @@
<p>
<hr>
-Last edited on 2005-08-06 22:25:50 by <span title="pool-70-22-241-24.bos.east.verizon.net"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:19:05 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Enscript
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Enscript 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Enscript 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,7 +55,7 @@
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/enscript/sml_simple.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_simple.st</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/enscript/sml_simple.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_simple.st</a>
-- Provides highlighting of keywords, string and character constants, and (nested) comments.
<pre class=code>
<I><FONT COLOR="#B22222">(* Comments (* can be nested *) *)</FONT></I>
@@ -69,7 +69,7 @@
<li class="gap">
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/enscript/sml_verbose.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_verbose.st</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/enscript/sml_verbose.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_verbose.st</a>
-- Supersedes the above, adding highlighting of numeric constants. Due to the limited parsing available, numeric record labels are highlighted as numeric constants, in all contexts. Likewise, a binding precedence separated from <tt>infix</tt> or <tt>infixr</tt> by a newline is highlighted as a numeric constant and a numeric record label selector separated from <tt>#</tt> by a newline is highlighted as a numeric constant.
</p>
@@ -93,7 +93,7 @@
<li class="gap">
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/enscript/sml_fancy.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_fancy.st</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/enscript/sml_fancy.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_fancy.st</a>
-- Supersedes the above, adding highlighting of type and constructor bindings, highlighting of explicit binding of type variables at <tt>val</tt> and <tt>fun</tt> declarations, and separate highlighting of core and modules level keywords. Due to the limited parsing available, it is assumed that the input is a syntactically correct, top-level declaration.
<pre class=code>
<B><FONT COLOR="#0000FF">structure</FONT></B> S = <B><FONT COLOR="#0000FF">struct</FONT></B>
@@ -116,7 +116,7 @@
<li class="gap">
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/enscript/sml_gaudy.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_gaudy.st</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/enscript/sml_gaudy.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_gaudy.st</a>
-- Supersedes the above, adding highlighting of type annotations, in both expressions and signatures. Due to the limited parsing available, it is assumed that the input is a syntactically correct, top-level declaration.
<pre class=code>
<B><FONT COLOR="#0000FF">signature</FONT></B> S = <B><FONT COLOR="#0000FF">sig</FONT></B>
@@ -175,7 +175,7 @@
<li>
<p>
Append
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/enscript/sml_all.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_all.st</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/enscript/sml_all.st?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sml_all.st</a>
to <tt>/usr/share/enscript/enscript.st</tt>
</p>
</li>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityType
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityType 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityType 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityTypeVariable
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityTypeVariable 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/EqualityTypeVariable 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Experimental
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Experimental 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Experimental 2005-11-22 03:02:45 UTC (rev 4248)
@@ -24,11 +24,30 @@
<link rel="Appendix" title="mlton-20050731-1.sparc-solaris.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20050731-1.sparc-solaris.tgz">
<link rel="Appendix" title="mlton-20050731-1.src.rpm" href="http://mlton.org/pages/Experimental/attachments/mlton-20050731-1.src.rpm">
<link rel="Appendix" title="mlton-20050731-1.src.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20050731-1.src.tgz">
+<link rel="Appendix" title="mlton-20051102-1.i386-cygwin.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051102-1.i386-cygwin.tgz">
+<link rel="Appendix" title="mlton-20051102-1.powerpc-darwin.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051102-1.powerpc-darwin.tgz">
+<link rel="Appendix" title="mlton-20051108-1.i386-mingw.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051108-1.i386-mingw.tgz">
+<link rel="Appendix" title="mlton-20051109-1.i386-cygwin.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-cygwin.tgz">
+<link rel="Appendix" title="mlton-20051109-1.i386-freebsd.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-freebsd.tgz">
+<link rel="Appendix" title="mlton-20051109-1.i386-linux.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-linux.tgz">
+<link rel="Appendix" title="mlton-20051109-1.i386-mingw.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-mingw.tgz">
+<link rel="Appendix" title="mlton-20051109-1.i386-netbsd.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-netbsd.tgz">
+<link rel="Appendix" title="mlton-20051109-1.i386-openbsd.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-openbsd.tgz">
+<link rel="Appendix" title="mlton-20051109-1.i386.rpm" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386.rpm">
+<link rel="Appendix" title="mlton-20051109-1.powerpc-darwin.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.powerpc-darwin.tgz">
+<link rel="Appendix" title="mlton-20051109-1.sparc-solaris.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.sparc-solaris.tgz">
+<link rel="Appendix" title="mlton-20051109-1.src.rpm" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.src.rpm">
+<link rel="Appendix" title="mlton-20051109-1.src.tgz" href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.src.tgz">
<link rel="Appendix" title="mlton_20050731-1.diff.gz" href="http://mlton.org/pages/Experimental/attachments/mlton_20050731-1.diff.gz">
<link rel="Appendix" title="mlton_20050731-1.dsc" href="http://mlton.org/pages/Experimental/attachments/mlton_20050731-1.dsc">
<link rel="Appendix" title="mlton_20050731-1_i386.changes" href="http://mlton.org/pages/Experimental/attachments/mlton_20050731-1_i386.changes">
<link rel="Appendix" title="mlton_20050731-1_i386.deb" href="http://mlton.org/pages/Experimental/attachments/mlton_20050731-1_i386.deb">
<link rel="Appendix" title="mlton_20050731.orig.tar.gz" href="http://mlton.org/pages/Experimental/attachments/mlton_20050731.orig.tar.gz">
+<link rel="Appendix" title="mlton_20051109-1.diff.gz" href="http://mlton.org/pages/Experimental/attachments/mlton_20051109-1.diff.gz">
+<link rel="Appendix" title="mlton_20051109-1.dsc" href="http://mlton.org/pages/Experimental/attachments/mlton_20051109-1.dsc">
+<link rel="Appendix" title="mlton_20051109-1_i386.changes" href="http://mlton.org/pages/Experimental/attachments/mlton_20051109-1_i386.changes">
+<link rel="Appendix" title="mlton_20051109-1_i386.deb" href="http://mlton.org/pages/Experimental/attachments/mlton_20051109-1_i386.deb">
+<link rel="Appendix" title="mlton_20051109.orig.tar.gz" href="http://mlton.org/pages/Experimental/attachments/mlton_20051109.orig.tar.gz">
</head>
<body lang="en" dir="ltr">
@@ -40,7 +59,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -73,38 +92,244 @@
<li>
<p>
- Compiler: better exception history
+ New license: BSD-style instead of GPL.
</p>
</li>
<li>
<p>
- FFI: support for symbols
+ New platforms: x86/MinGW, hppa/Linux.
</p>
</li>
<li>
<p>
- Libraries: <tt>Int1</tt>, <tt>MLton.CallStack</tt>, <tt>MLton.Process.create</tt>, <tt>Word1</tt>
+ Compiler: better exception history.
</p>
</li>
<li>
<p>
- MLBs: <tt>warnExnMatch</tt> annotation
+ FFI: support for symbols.
</p>
</li>
<li>
<p>
- Profiling: better inclusion/exclusion of code
+ Libraries: <tt>Int1</tt>, <tt>MLton.CallStack</tt>, <tt>MLton.Process.create</tt>, <tt>Word1</tt>.
</p>
</li>
<li>
<p>
- Tools: updates of mllex and mlyacc from SML/NJ
+ MLBs: <tt>warnExnMatch</tt> annotation.
</p>
</li>
+ <li>
+<p>
+ Profiling: better inclusion/exclusion of code.
+</p>
+</li>
+ <li>
+<p>
+ Tools: updates of mllex and mlyacc from SML/NJ.
+</p>
+</li>
</ul>
+<h2 id="head-0e3b62959b790d2ab3ea48811fd819acd889cd24">20051109 binary packages</h2>
+
+ <ul>
+
+ <li>
+<p>
+ x86
+</p>
+</li>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-cygwin.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Cygwin</a> 1.5.18-1
+</p>
+</li>
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-freebsd.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">FreeBSD</a> 5.4
+</p>
+</li>
+ <li>
+<p>
+ Linux
+</p>
+</li>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton_20051109-1_i386.deb"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Debian</a> sid
+</p>
+</li>
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386.rpm"><img src="moin-www.png" alt="[WWW]" height="11" width="11">RedHat</a> 7.1
+</p>
+</li>
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-linux.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">tgz</a> for other distributions (glibc 2.3)
+</p>
+</li>
+
+ </ul>
+
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051108-1.i386-mingw.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">MinGW</a>
+</p>
+</li>
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-netbsd.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">NetBSD</a> 2.0.2
+</p>
+</li>
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.i386-openbsd.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">OpenBSD</a> 3.7
+</p>
+</li>
+
+ </ul>
+
+
+ <li>
+<p>
+ PowerPC
+</p>
+</li>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.powerpc-darwin.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Darwin</a> 7.9.0 (Mac OS X)
+</p>
+</li>
+
+ </ul>
+
+
+ <li>
+<p>
+ Sparc
+</p>
+</li>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.sparc-solaris.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Solaris</a> 8
+</p>
+</li>
+
+ </ul>
+
+
+
+ </ul>
+
+
+<h2 id="head-4a3ee97e74efdeedf7a6690a0962c3e5674109ea">20051109 sources</h2>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.src.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">source tgz</a>
+</p>
+</li>
+ <li>
+<p>
+ Debian <a href="http://mlton.org/pages/Experimental/attachments/mlton_20051109-1.dsc"><img src="moin-www.png" alt="[WWW]" height="11" width="11">dsc</a>, <a href="http://mlton.org/pages/Experimental/attachments/mlton_20051109-1.diff.gz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">diff.gz</a>, <a href="http://mlton.org/pages/Experimental/attachments/mlton_20051109.orig.tar.gz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">orig.tar.gz</a>
+</p>
+</li>
+ <li>
+<p>
+ R<strong></strong>edHat <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051109-1.src.rpm"><img src="moin-www.png" alt="[WWW]" height="11" width="11">source rpm</a>
+</p>
+</li>
+
+ </ul>
+
+
+<h2 id="head-fa8a75e4310fa61a1be9c6fef3a2788dff704576">20051108 binary packages</h2>
+
+ <ul>
+
+ <li>
+<p>
+ x86
+</p>
+</li>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051108-1.i386-mingw.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">MinGW</a>
+</p>
+</li>
+
+ </ul>
+
+
+
+ </ul>
+
+
+<h2 id="head-cc061b2e542c1d0cf34c23eeaba9f154189a93cd">20051102 binary packages</h2>
+
+ <ul>
+
+ <li>
+<p>
+ x86
+</p>
+</li>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051102-1.i386-cygwin.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Cygwin</a> 1.5.18-1
+</p>
+</li>
+
+ </ul>
+
+
+ <li>
+<p>
+ PowerPC
+</p>
+</li>
+
+ <ul>
+
+ <li>
+<p>
+ <a href="http://mlton.org/pages/Experimental/attachments/mlton-20051102-1.powerpc-darwin.tgz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Darwin</a> 7.9.0 (Mac OS X)
+</p>
+</li>
+
+ </ul>
+
+
+
+ </ul>
+
+
<h2 id="head-7c89f2526abeecbdfccbe96f59bbda5ed46c9792">20050731 binary packages</h2>
<ul>
@@ -228,5 +453,5 @@
<p>
<hr>
-Last edited on 2005-08-02 01:10:29 by <span title="adsl-66-126-175-21.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-11-10 06:49:35 by <span title="71.141.5.253"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/FAQ
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/FAQ 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/FAQ 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Features
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Features 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Features 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/FirstClassPolymorphism
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/FirstClassPolymorphism 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/FirstClassPolymorphism 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Flatten
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Flatten 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Flatten 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -103,9 +103,9 @@
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">flatten.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">flatten.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">flatten.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">flatten.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ForLoops
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ForLoops 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ForLoops 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterface
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterface 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterface 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceSyntax
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceSyntax 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceSyntax 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -163,9 +163,9 @@
</p>
<h2 id="head-f3e4fadb9e370a1e2c0c622c01fc8c77daf93a2c">Export</h2>
-<pre>_export "C function name" attr... : cFuncTy -> unit;
+<pre>_export "CFunctionName" attr... : cFuncTy -> unit;
</pre><p>
-Denotes a function that must be applied to a SML function <tt>f</tt> and arranges for the exported C function to call the SML function.
+Exports a C function with the name <tt>CFunctionName</tt> that can be used to call an SML function of the type <em>cFuncTy</em>. When the function denoted by the export expression is applied to an SML function <tt>f</tt>, subsequent C calls to <tt>CFunctionName</tt> will call <tt>f</tt>. It is an error to call <tt>CFunctionName</tt> before the export has been applied. The export may be applied more than once, with each application replacing any previous definition of <tt>CFunctionName</tt>.
</p>
<p>
<tt>attr...</tt> denotes a (possibly empty) sequence of attributes.
@@ -196,5 +196,5 @@
<p>
<hr>
-Last edited on 2005-08-07 21:52:33 by <span title="pool-71-243-10-187.bos.east.verizon.net"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-23 16:59:31 by <span title="adsl-64-166-227-19.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceTypes
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceTypes 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ForeignFunctionInterfaceTypes 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/FrontEnd
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/FrontEnd 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/FrontEnd 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,18 +55,18 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/front-end/front-end.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">front-end.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/front-end/front-end.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">front-end.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/front-end/front-end.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">front-end.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/front-end/front-end.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">front-end.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
The lexer is produced by <a class="nonexistent" href="MLLex">MLLex</a> from
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/front-end/ml.lex?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ml.lex</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/front-end/ml.lex?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ml.lex</a>
.
</p>
<p>
The parser is produced by <a class="nonexistent" href="MLYacc">MLYacc</a> from
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/front-end/ml.grm?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ml.grm</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/front-end/ml.grm?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ml.grm</a>
.
</p>
<p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/FunctionalRecordUpdate
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/FunctionalRecordUpdate 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/FunctionalRecordUpdate 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -217,7 +217,7 @@
</p>
<p>
The MLton SVN contains Emacs functions in
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/ide/emacs/esml-gen.el?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">esml-gen.el</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/ide/emacs/esml-gen.el?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">esml-gen.el</a>
to generate functional tuple update functions and functional record update functions. For example, to generate a <tt>set</tt> function for the record <tt>{a, b, c</tt>} it is sufficient to type <tt>M x esml-gen-fru-setter a b c</tt>.
</p>
<h2 id="head-12c4ffe1d987164a4bedf6ab2aac597a113e181c">Efficiency</h2>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/GarbageCollection
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/GarbageCollection 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/GarbageCollection 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -61,7 +61,7 @@
<li>
<p>
- <a href="http://mlton.org/pipermail/mlton/2002-May/012420.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2002-May/012420.html</a> <br>
+ <a class="external" href="http://mlton.org/pipermail/mlton/2002-May/012420.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2002-May/012420.html</a> <br>
object layout and header word design
</p>
</li>
@@ -86,5 +86,5 @@
<p>
<hr>
-Last edited on 2004-12-10 18:23:47 by <span title="adsl-67-124-249-200.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:28:47 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeDatatype
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeDatatype 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeDatatype 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeException
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeException 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/GenerativeException 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Globalize
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Globalize 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Globalize 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/closure-convert/globalize.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">globalize.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/closure-convert/globalize.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">globalize.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/closure-convert/globalize.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">globalize.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/closure-convert/globalize.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">globalize.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/GnuMP
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/GnuMP 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/GnuMP 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/HaMLet
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/HaMLet 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/HaMLet 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/HenryCejtin
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/HenryCejtin 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/HenryCejtin 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/History
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/History 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/History 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Home
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Home 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Home 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/HowProfilingWorks
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/HowProfilingWorks 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/HowProfilingWorks 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -73,7 +73,7 @@
</p>
<p>
There is the <tt>checkProf</tt> function in
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/type-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/type-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.fun</a>
, which checks that the <tt>Enter</tt>/<tt>Leave</tt> statements match up.
</p>
<p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Identifier
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Identifier 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Identifier 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Immutable
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Immutable 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Immutable 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ImperativeTypeVariable
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ImperativeTypeVariable 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ImperativeTypeVariable 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementExceptions
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementExceptions 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementExceptions 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/implement-exceptions.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-exceptions.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/implement-exceptions.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-exceptions.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/implement-exceptions.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-exceptions.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/implement-exceptions.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-exceptions.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementHandlers
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementHandlers 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementHandlers 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/implement-handlers.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-handlers.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/implement-handlers.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-handlers.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/implement-handlers.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-handlers.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/implement-handlers.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-handlers.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementProfiling
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementProfiling 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementProfiling 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/profile.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">profile.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/profile.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">profile.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/profile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">profile.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/profile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">profile.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
See <a href="HowProfilingWorks">HowProfilingWorks</a>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementSuffix
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementSuffix 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ImplementSuffix 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/implement-suffix.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-suffix.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/implement-suffix.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-suffix.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/implement-suffix.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-suffix.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/implement-suffix.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">implement-suffix.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
ImplementSuffix works by introducing a new <tt>ref</tt> cell to contain the function of type <tt>unit -> unit</tt> that should be called on program exit.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Index
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Index 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Index 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,7 +49,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-There are 291 pages. <p><p><a href="#A">A</a> | <a href="#B">B</a> | <a href="#C">C</a> | <a href="#D">D</a> | <a href="#E">E</a> | <a href="#F">F</a> | <a href="#G">G</a> | <a href="#H">H</a> | <a href="#I">I</a> | <a href="#J">J</a> | <a href="#K">K</a> | <a href="#L">L</a> | <a href="#M">M</a> | <a href="#O">O</a> | <a href="#P">P</a> | <a href="#R">R</a> | <a href="#S">S</a> | <a href="#T">T</a> | <a href="#U">U</a> | <a href="#V">V</a> | <a href="#W">W</a> | <a href="#X">X</a> | <a href="#Z">Z</a><br>
+There are 294 pages. <p><p><a href="#A">A</a> | <a href="#B">B</a> | <a href="#C">C</a> | <a href="#D">D</a> | <a href="#E">E</a> | <a href="#F">F</a> | <a href="#G">G</a> | <a href="#H">H</a> | <a href="#I">I</a> | <a href="#J">J</a> | <a href="#K">K</a> | <a href="#L">L</a> | <a href="#M">M</a> | <a href="#O">O</a> | <a href="#P">P</a> | <a href="#R">R</a> | <a href="#S">S</a> | <a href="#T">T</a> | <a href="#U">U</a> | <a href="#V">V</a> | <a href="#W">W</a> | <a href="#X">X</a> | <a href="#Z">Z</a><br>
</p><a name="A"><h3>A</h3></a><a href="AccessControl">AccessControl</a>
<br><a href="AdmitsEquality">AdmitsEquality</a>
<br><a href="Alice">Alice</a>
@@ -112,6 +112,7 @@
<br><a href="ForLoops">ForLoops</a>
<br><a href="FrontEnd">FrontEnd</a>
<br><a href="FunctionalRecordUpdate">FunctionalRecordUpdate</a>
+<br><a href="fxp">fxp</a>
<a name="G"><h3>G</h3></a><a href="GarbageCollection">GarbageCollection</a>
<br><a href="GenerativeDatatype">GenerativeDatatype</a>
<br><a href="GenerativeException">GenerativeException</a>
@@ -220,6 +221,7 @@
<br><a href="PolyML">PolyML</a>
<br><a href="PolymorphicEquality">PolymorphicEquality</a>
<br><a href="Polyvariance">Polyvariance</a>
+<br><a href="Poplog">Poplog</a>
<br><a href="PortingMLton">PortingMLton</a>
<br><a href="PrecedenceParse">PrecedenceParse</a>
<br><a href="Printf">Printf</a>
@@ -305,6 +307,7 @@
<br><a href="TalkWholeProgram">TalkWholeProgram</a>
<br><a href="TILT">TILT</a>
<br><a href="ToMachine">ToMachine</a>
+<br><a href="TomMurphy">TomMurphy</a>
<br><a href="ToRSSA">ToRSSA</a>
<br><a href="ToSSA2">ToSSA2</a>
<br><a href="TrustedGroup">TrustedGroup</a>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/InfixingOperators
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/InfixingOperators 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/InfixingOperators 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Inline
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Inline 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Inline 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/inline.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">inline.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/inline.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">inline.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/inline.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">inline.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/inline.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">inline.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
The Inline pass can be invoked to use one of three metrics:
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertLimitChecks
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertLimitChecks 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertLimitChecks 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/limit-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/limit-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/limit-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/limit-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertSignalChecks
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertSignalChecks 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/InsertSignalChecks 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/limit-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/limit-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/limit-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/limit-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">limit-check.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Installation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Installation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Installation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/IntermediateLanguage
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/IntermediateLanguage 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/IntermediateLanguage 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/IntroduceLoops
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/IntroduceLoops 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/IntroduceLoops 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -79,9 +79,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/introduce-loops.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">introduce-loops.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/introduce-loops.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">introduce-loops.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/introduce-loops.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">introduce-loops.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/introduce-loops.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">introduce-loops.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/JesperLouisAndersen
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/JesperLouisAndersen 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/JesperLouisAndersen 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/JohnnyAndersen
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/JohnnyAndersen 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/JohnnyAndersen 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/KnownCase
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/KnownCase 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/KnownCase 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -105,9 +105,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/known-case.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">known-case.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/known-case.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">known-case.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/known-case.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">known-case.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/known-case.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">known-case.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
One interesting aspect of KnownCase, is that it often has the effect of unrolling list traversals by one iteration, moving the <tt>nil</tt>/<tt>::</tt> check to the end of the loop, rather than the beginning.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/LambdaFree
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/LambdaFree 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/LambdaFree 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/closure-convert/lambda-free.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">lambda-free.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/closure-convert/lambda-free.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">lambda-free.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/closure-convert/lambda-free.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">lambda-free.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/closure-convert/lambda-free.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">lambda-free.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
For <tt>Lambda</tt>s bound in a <tt>Fun</tt> dec, <tt>lambdaFree</tt> gives the union of the frees of the entire group of mutually recursive functions. Hence, <tt>lambdaFree</tt> for every <tt>Lambda</tt> in a single <tt>Fun</tt> dec is the same. Furthermore, for a <tt>Lambda</tt> bound in a <tt>Fun</tt> dec, <tt>lambdaRec</tt> gives the list of other functions bound in the same dec defining that <tt>Lambda</tt>. For example:
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/LanguageChanges
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/LanguageChanges 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/LanguageChanges 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -105,12 +105,12 @@
<li>
<p>
- <a href="http://mlton.org/pipermail/mlton/2004-August/016165.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-August/016165.html</a>
+ <a class="external" href="http://mlton.org/pipermail/mlton/2004-August/016165.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-August/016165.html</a>
</p>
</li>
<li>
<p>
- <a href="http://mlton.org/pipermail/mlton-user/2004-December/000320.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton-user/2004-December/000320.html</a>
+ <a class="external" href="http://mlton.org/pipermail/mlton-user/2004-December/000320.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton-user/2004-December/000320.html</a>
</p>
</li>
</ul>
@@ -121,5 +121,5 @@
<p>
<hr>
-Last edited on 2005-01-28 21:46:52 by <span title="cfs36.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:28:57 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Lazy
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Lazy 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Lazy 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Libraries
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Libraries 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Libraries 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -100,9 +100,9 @@
<li>
<p>
The internal MLton library has a regexp module which we hope to cleanup and make more accessible someday. See
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/lib/mlton/basic/regexp.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">regexp.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/lib/mlton/basic/regexp.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">regexp.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/lib/mlton/basic/regexp.sml?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">regexp.sml</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/lib/mlton/basic/regexp.sml?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">regexp.sml</a>
</p>
</li>
@@ -137,7 +137,7 @@
</li>
<li>
<p>
- XML: <a class="external" href="http://atseidl2.informatik.tu-muenchen.de/~berlea/Fxp/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">fxp</a>, which has a <a class="external" href="http://atseidl2.informatik.tu-muenchen.de/~berlea/Fxp/mlton.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">patch</a> to compile with MLton.
+ XML: <a href="fxp">fxp</a>
</p>
</li>
<li>
@@ -238,5 +238,5 @@
<p>
<hr>
-Last edited on 2005-09-06 11:42:21 by <span title="209-6-203-188.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-09 19:23:21 by <span title="adsl-64-166-227-25.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/License
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/License 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/License 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/LineDirective
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/LineDirective 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/LineDirective 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalFlatten
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalFlatten 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalFlatten 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -61,9 +61,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/local-flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-flatten.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/local-flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-flatten.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/local-flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-flatten.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/local-flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-flatten.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalRef
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalRef 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/LocalRef 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -78,9 +78,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/local-ref.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-ref.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/local-ref.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-ref.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/local-ref.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-ref.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/local-ref.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">local-ref.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Moving a global <tt>ref</tt> requires the <a href="Multi">Multi</a> analysis, because a global <tt>ref</tt> can only be moved into a function that is executed at most once.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/LoopInvariant
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/LoopInvariant 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/LoopInvariant 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -72,9 +72,9 @@
...
</pre><h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/loop-invariant.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">loop-invariant.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/loop-invariant.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">loop-invariant.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/loop-invariant.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">loop-invariant.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/loop-invariant.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">loop-invariant.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasis
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasis 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasis 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotationExamples
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotationExamples 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotationExamples 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotations
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotations 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAnnotations 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAvailableLibraries
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAvailableLibraries 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisAvailableLibraries 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisExamples
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisExamples 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisExamples 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisPathMap
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisPathMap 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisPathMap 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisSyntaxAndSemantics
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisSyntaxAndSemantics 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLBasisSyntaxAndSemantics 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLKit
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLKit 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLKit 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFI
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFI 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFI 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFIImplementation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFIImplementation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLNLFFIImplementation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLj
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLj 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLj 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonArray
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonArray 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonArray 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonBinIO
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonBinIO 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonBinIO 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonCont
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonCont 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonCont 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonExn
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonExn 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonExn 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonFinalizable
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonFinalizable 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonFinalizable 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -316,7 +316,7 @@
<li>
<p>
- <a href="http://mlton.org/pipermail/mlton/2004-September/016570.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-September/016570.html</a>
+ <a class="external" href="http://mlton.org/pipermail/mlton/2004-September/016570.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-September/016570.html</a>
</p>
</li>
@@ -332,5 +332,5 @@
<p>
<hr>
-Last edited on 2004-12-16 00:12:27 by <span title="adsl-67-124-249-200.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:29:14 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonGC
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonGC 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonGC 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIO
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIO 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIO 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIntInf
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIntInf 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonIntInf 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonItimer
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonItimer 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonItimer 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPlatform
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPlatform 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPlatform 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPointer
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPointer 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonPointer 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcEnv
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcEnv 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcEnv 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcess
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcess 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProcess 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProfile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProfile 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonProfile 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRandom
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRandom 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRandom 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRlimit
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRlimit 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRlimit 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRusage
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRusage 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonRusage 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,8 +55,9 @@
<B><FONT COLOR="#0000FF">sig</FONT></B>
<B><FONT COLOR="#A020F0">type</FONT></B><FONT COLOR="#228B22"><B> t </FONT></B>=<FONT COLOR="#228B22"><B> {utime: Time.time, <I><FONT COLOR="#B22222">(* user time *)</FONT></I>
stime: Time.time} <I><FONT COLOR="#B22222">(* system time *)</FONT></I>
-
- </FONT></B><B><FONT COLOR="#A020F0">val</FONT></B> rusage: unit -> {children: t,
+
+ </FONT></B><B><FONT COLOR="#A020F0">val</FONT></B> measureGC: bool -> unit
+ <B><FONT COLOR="#A020F0">val</FONT></B> rusage: unit -> {children: t,
gc: t,
self: t}
<B><FONT COLOR="#0000FF">end</FONT></B>
@@ -81,6 +82,18 @@
<li class="gap">
<p>
+ <tt>measureGC b</tt>
+</p>
+</li>
+
+ <ul>
+
+ controls whether garbage collection time is measured during program execution. This affects the behavior of both <tt>rusage</tt> and <tt>Timer.checkCPUTimes</tt>. Note that garbage collection time is always measured when either <tt>gc-messages</tt> or <tt>gc-summary</tt> is given as a runtime system option.
+ </ul>
+
+
+ <li class="gap">
+<p>
<tt>rusage ()</tt>
</p>
</li>
@@ -97,5 +110,5 @@
<p>
<hr>
-Last edited on 2004-11-02 04:28:42 by <span title="adsl-67-124-249-200.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-11-04 00:32:18 by <span title="209-6-203-188.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSignal
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSignal 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSignal 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSocket
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSocket 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSocket 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonStructure
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonStructure 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonStructure 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSyslog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSyslog 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonSyslog 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonTextIO
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonTextIO 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonTextIO 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonThread
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonThread 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonThread 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonVector
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonVector 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonVector 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWeak
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWeak 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWeak 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWord
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWord 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWord 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWorld
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWorld 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MLtonWorld 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Machine
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Machine 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Machine 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,18 +55,18 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/machine.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/machine.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/machine.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/machine.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.fun</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
The Machine <a href="IntermediateLanguage">IntermediateLanguage</a> has a primitive type checker, which only checks some liveness properties.
</p>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/machine.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/machine.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/machine.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/machine.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">machine.fun</a>
</p>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ManualPage
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ManualPage 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ManualPage 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompilation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompilation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompilation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompile 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MatchCompile 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/match-compile/match-compile.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">match-compile.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/match-compile/match-compile.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">match-compile.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/match-compile/match-compile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">match-compile.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/match-compile/match-compile.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">match-compile.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<pre>val matchCompile:
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MatthewFluet
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MatthewFluet 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MatthewFluet 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,7 +49,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-Matthew Fluet ( <a class="external" href="mailto:mfluet@acm.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mfluet@acm.org</a> , <a class="external" href="http://www.cs.cornell.edu/People/fluet"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://www.cs.cornell.edu/People/fluet</a> ) is a PhD student in the <a class="external" href="http://www.cs.cornell.edu"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Computer Science Department</a> at <a class="external" href="http://www.cornell.edu"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Cornell University</a>. <hr>
+Matthew Fluet ( <a class="external" href="mailto:mfluet@acm.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:mfluet@acm.org</a> , <a class="external" href="http://www.cs.cornell.edu/People/fluet"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://www.cs.cornell.edu/People/fluet</a> ) is a PhD student in the <a class="external" href="http://www.cs.cornell.edu"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Computer Science Department</a> at <a class="external" href="http://www.cornell.edu"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Cornell University</a>. <hr>
<p>
Current MLton projects:
</p>
@@ -89,5 +89,5 @@
<p>
<hr>
-Last edited on 2005-04-20 14:02:11 by <span title="cfs27.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:19:14 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MichaelNorrish
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MichaelNorrish 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MichaelNorrish 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MikeThomas
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MikeThomas 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MikeThomas 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MoinMoin
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MoinMoin 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MoinMoin 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Monomorphise
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Monomorphise 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Monomorphise 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -72,9 +72,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/monomorphise.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">monomorphise.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/monomorphise.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">monomorphise.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/monomorphise.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">monomorphise.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/monomorphise.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">monomorphise.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
The monomorphiser works by making one pass over the entire program. On the way down, it creates a cache for each variable declared in a polymorphic declaration that maps a lists of type arguments to a new variable name. At a variable reference, it consults the cache (based on the types the variable is applied to). If there is already an entry in the cache, it is used. If not, a new entry is created. On the way up, the monomorphiser duplicates a variable declaration for each entry in the cache.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/MoscowML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/MoscowML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/MoscowML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Multi
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Multi 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Multi 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/multi.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">multi.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/multi.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">multi.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/multi.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">multi.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/multi.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">multi.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Mutable
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Mutable 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Mutable 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/OCaml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/OCaml 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/OCaml 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ObjectOrientedProgramming
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ObjectOrientedProgramming 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ObjectOrientedProgramming 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/OpenGL
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/OpenGL 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/OpenGL 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,7 +55,7 @@
<li>
<p>
<a href="MikeThomas">MikeThomas</a> built a low-level interface, directly translating many of the functions, covering GL, GLU, and GLUT. This is available in the MLton <a href="Sources">Sources</a>:
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/lib/opengl"><img src="moin-www.png" alt="[WWW]" height="11" width="11">opengl</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/lib/opengl"><img src="moin-www.png" alt="[WWW]" height="11" width="11">opengl</a>
. The code contains a number of small, standard OpenGL examples translated to SML.
</p>
</li>
@@ -67,7 +67,7 @@
<ul>
- <a href="http://mlton.org/pipermail/mlton/2005-January/026669.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2005-January/026669.html</a>
+ <a class="external" href="http://mlton.org/pipermail/mlton/2005-January/026669.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2005-January/026669.html</a>
</ul>
@@ -84,5 +84,5 @@
<p>
<hr>
-Last edited on 2005-08-19 15:31:56 by <span title="cfs32.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:29:26 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/OperatorPrecedence
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/OperatorPrecedence 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/OperatorPrecedence 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/OptionalArguments
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/OptionalArguments 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/OptionalArguments 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -67,7 +67,9 @@
<B><FONT COLOR="#A020F0">val</FONT></B> X = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> $
<B><FONT COLOR="#A020F0">val</FONT></B> Y = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> (` #b <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) $
<B><FONT COLOR="#A020F0">val</FONT></B> Z = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> (` #a <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) (` #c <B><FONT COLOR="#5F9EA0">2</FONT></B>) (` #b <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) $
-<B><FONT COLOR="#A020F0">val</FONT></B> () = print (concat [<FONT COLOR="#BC8F8F"><B>"X = "</FONT></B>, Real.toString X, <FONT COLOR="#BC8F8F"><B>", Y = "</FONT></B>, Real.toString Y, <FONT COLOR="#BC8F8F"><B>", Z = "</FONT></B>, Real.toString Z, <FONT COLOR="#BC8F8F"><B>"\n"</FONT></B>])
+<B><FONT COLOR="#A020F0">val</FONT></B> () = print (concat [<FONT COLOR="#BC8F8F"><B>"X = "</FONT></B>, Real.toString X,
+ <FONT COLOR="#BC8F8F"><B>", Y = "</FONT></B>, Real.toString Y,
+ <FONT COLOR="#BC8F8F"><B>", Z = "</FONT></B>, Real.toString Z, <FONT COLOR="#BC8F8F"><B>"\n"</FONT></B>])
</PRE>
prints out the following:
<pre>X = 0, Y = 1, Z = 3
@@ -144,12 +146,16 @@
<B><FONT COLOR="#A020F0">val</FONT></B> X = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> $
<B><FONT COLOR="#A020F0">val</FONT></B> Y = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> (` #b <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) $
<B><FONT COLOR="#A020F0">val</FONT></B> Z = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> (` #a <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) (` #c <B><FONT COLOR="#5F9EA0">2</FONT></B>) (` #b <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) $
- <B><FONT COLOR="#A020F0">val</FONT></B> () = print (concat [<FONT COLOR="#BC8F8F"><B>"X = "</FONT></B>, Real.toString X, <FONT COLOR="#BC8F8F"><B>", Y = "</FONT></B>, Real.toString Y, <FONT COLOR="#BC8F8F"><B>", Z = "</FONT></B>, Real.toString Z, <FONT COLOR="#BC8F8F"><B>"\n"</FONT></B>])
+ <B><FONT COLOR="#A020F0">val</FONT></B> () = print (concat [<FONT COLOR="#BC8F8F"><B>"X = "</FONT></B>, Real.toString X,
+ <FONT COLOR="#BC8F8F"><B>", Y = "</FONT></B>, Real.toString Y,
+ <FONT COLOR="#BC8F8F"><B>", Z = "</FONT></B>, Real.toString Z, <FONT COLOR="#BC8F8F"><B>"\n"</FONT></B>])
<B><FONT COLOR="#A020F0">val</FONT></B> X = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> (`` opts_def2) $
<B><FONT COLOR="#A020F0">val</FONT></B> Y = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> (`` opts_def2) (` #b <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) $
<B><FONT COLOR="#A020F0">val</FONT></B> Z = f' <B><FONT COLOR="#5F9EA0">1</FONT></B> (`` opts_def2) (` #a <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) (` #c <B><FONT COLOR="#5F9EA0">2</FONT></B>) (` #b <B><FONT COLOR="#5F9EA0">1.0</FONT></B>) $
- <B><FONT COLOR="#A020F0">val</FONT></B> () = print (concat [<FONT COLOR="#BC8F8F"><B>"X = "</FONT></B>, Real.toString X, <FONT COLOR="#BC8F8F"><B>", Y = "</FONT></B>, Real.toString Y, <FONT COLOR="#BC8F8F"><B>", Z = "</FONT></B>, Real.toString Z, <FONT COLOR="#BC8F8F"><B>"\n"</FONT></B>])
+ <B><FONT COLOR="#A020F0">val</FONT></B> () = print (concat [<FONT COLOR="#BC8F8F"><B>"X = "</FONT></B>, Real.toString X,
+ <FONT COLOR="#BC8F8F"><B>", Y = "</FONT></B>, Real.toString Y,
+ <FONT COLOR="#BC8F8F"><B>", Z = "</FONT></B>, Real.toString Z, <FONT COLOR="#BC8F8F"><B>"\n"</FONT></B>])
<B><FONT COLOR="#0000FF">end</FONT></B>
</PRE>
<p>
@@ -295,5 +301,5 @@
<p>
<hr>
-Last edited on 2005-01-30 23:56:31 by <span title="cfs38.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-11-13 23:18:55 by <span title="pool-68-162-172-153.pitt.east.verizon.net">AdamGoode</span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/OrphanedPages
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/OrphanedPages 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/OrphanedPages 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/OtherSites
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/OtherSites 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/OtherSites 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -84,7 +84,7 @@
</li>
<li>
<p>
- <a href="http://www.icewalkers.com/">http://www.icewalkers.com/</a>
+ <a class="external" href="http://www.icewalkers.com/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">icewalkers</a>
</p>
</li>
<li>
@@ -100,5 +100,5 @@
<p>
<hr>
-Last edited on 2004-12-15 21:52:42 by <span title="adsl-67-124-249-200.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:19:23 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Overloading
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Overloading 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Overloading 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PackedRepresentation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PackedRepresentation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PackedRepresentation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/representation.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">representation.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/representation.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">representation.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/packed-representation.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">packed-representation.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/packed-representation.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">packed-representation.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Has a special case to make sure that <tt>true</tt> is represented as <tt>1</tt> and <tt>false</tt> is represented as <tt>0</tt>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PageSize
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PageSize 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PageSize 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -52,56 +52,56 @@
<p>
List of all pages, sorted by their size: <ol>
<li>
-<tt> 17241 </tt><a href="References">References</a></li>
+<tt> 18926 </tt><a href="References">References</a></li>
<li>
-<tt> 13891 </tt><a href="BasisLibrary">BasisLibrary</a></li>
+<tt> 17504 </tt><a href="http://mlton.org/VesaKarvonen_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">VesaKarvonen/MoinEditorBackup</a></li>
<li>
+<tt> 13897 </tt><a href="BasisLibrary">BasisLibrary</a></li>
+<li>
<tt> 11878 </tt><a href="Performance">Performance</a></li>
<li>
<tt> 11333 </tt><a href="MLtonProcess">MLtonProcess</a></li>
<li>
-<tt> 11110 </tt><a href="CommonArg">CommonArg</a></li>
+<tt> 11149 </tt><a href="CommonArg">CommonArg</a></li>
<li>
-<tt> 10762 </tt><a href="ConcurrentMLImplementation">ConcurrentMLImplementation</a></li>
+<tt> 10764 </tt><a href="ConcurrentMLImplementation">ConcurrentMLImplementation</a></li>
<li>
<tt> 8485 </tt><a href="ValueRestriction">ValueRestriction</a></li>
<li>
<tt> 8291 </tt><a href="PrintfGentle">PrintfGentle</a></li>
<li>
+<tt> 8269 </tt><a href="CompileTimeOptions">CompileTimeOptions</a></li>
+<li>
<tt> 8246 </tt><a href="SyntacticConventions">SyntacticConventions</a></li>
<li>
<tt> 7972 </tt><a href="InfixingOperators">InfixingOperators</a></li>
<li>
-<tt> 7621 </tt><a href="OptionalArguments">OptionalArguments</a></li>
+<tt> 7789 </tt><a href="OptionalArguments">OptionalArguments</a></li>
<li>
-<tt> 7556 </tt><a href="CompileTimeOptions">CompileTimeOptions</a></li>
-<li>
<tt> 6716 </tt><a href="MLtonThread">MLtonThread</a></li>
<li>
-<tt> 6604 </tt><a href="SMLNJDeviations">SMLNJDeviations</a></li>
+<tt> 6588 </tt><a href="SMLNJDeviations">SMLNJDeviations</a></li>
<li>
<tt> 6422 </tt><a href="MLNLFFIImplementation">MLNLFFIImplementation</a></li>
<li>
-<tt> 6175 </tt><a href="http://mlton.org/VesaKarvonen_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">VesaKarvonen/MoinEditorBackup</a></li>
-<li>
<tt> 6122 </tt><a href="Bugs20041109">Bugs20041109</a></li>
<li>
<tt> 6066 </tt><a href="FunctionalRecordUpdate">FunctionalRecordUpdate</a></li>
<li>
<tt> 6036 </tt><a href="http://mlton.org/WesleyTerpstra_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">WesleyTerpstra/MoinEditorBackup</a></li>
<li>
-<tt> 5953 </tt><a href="PolymorphicEquality">PolymorphicEquality</a></li>
+<tt> 5955 </tt><a href="PolymorphicEquality">PolymorphicEquality</a></li>
<li>
<tt> 5938 </tt><a href="Elaborate">Elaborate</a></li>
<li>
<tt> 5853 </tt><a href="AdmitsEquality">AdmitsEquality</a></li>
<li>
+<tt> 5832 </tt><a href="PortingMLton">PortingMLton</a></li>
+<li>
<tt> 5830 </tt><a href="ForLoops">ForLoops</a></li>
<li>
-<tt> 5829 </tt><a href="PortingMLton">PortingMLton</a></li>
+<tt> 5760 </tt><a href="MLtonFinalizable">MLtonFinalizable</a></li>
<li>
-<tt> 5758 </tt><a href="MLtonFinalizable">MLtonFinalizable</a></li>
-<li>
<tt> 5550 </tt><a href="MLtonSignal">MLtonSignal</a></li>
<li>
<tt> 5280 </tt><a href="CompilationManager">CompilationManager</a></li>
@@ -112,9 +112,9 @@
<li>
<tt> 5083 </tt><a href="MLtonStructure">MLtonStructure</a></li>
<li>
-<tt> 4914 </tt><a href="TypeChecking">TypeChecking</a></li>
+<tt> 4898 </tt><a href="TypeChecking">TypeChecking</a></li>
<li>
-<tt> 4707 </tt><a href="Regions">Regions</a></li>
+<tt> 4709 </tt><a href="Regions">Regions</a></li>
<li>
<tt> 4690 </tt><a href="CallGraph">CallGraph</a></li>
<li>
@@ -124,7 +124,7 @@
<li>
<tt> 4372 </tt><a href="TypeVariableScope">TypeVariableScope</a></li>
<li>
-<tt> 4357 </tt><a href="Credits">Credits</a></li>
+<tt> 4356 </tt><a href="Credits">Credits</a></li>
<li>
<tt> 4332 </tt><a href="SelfCompiling">SelfCompiling</a></li>
<li>
@@ -138,7 +138,7 @@
<li>
<tt> 3501 </tt><a href="Enscript">Enscript</a></li>
<li>
-<tt> 3280 </tt><a href="Users">Users</a></li>
+<tt> 3325 </tt><a href="Users">Users</a></li>
<li>
<tt> 3274 </tt><a href="ForeignFunctionInterfaceTypes">ForeignFunctionInterfaceTypes</a></li>
<li>
@@ -150,14 +150,16 @@
<li>
<tt> 2949 </tt><a href="Monomorphise">Monomorphise</a></li>
<li>
+<tt> 2898 </tt><a href="ForeignFunctionInterfaceSyntax">ForeignFunctionInterfaceSyntax</a></li>
+<li>
<tt> 2885 </tt><a href="HowProfilingWorks">HowProfilingWorks</a></li>
<li>
<tt> 2821 </tt><a href="PropertyList">PropertyList</a></li>
<li>
+<tt> 2807 </tt><a href="Experimental">Experimental</a></li>
+<li>
<tt> 2574 </tt><a href="CompilerOverview">CompilerOverview</a></li>
<li>
-<tt> 2558 </tt><a href="ForeignFunctionInterfaceSyntax">ForeignFunctionInterfaceSyntax</a></li>
-<li>
<tt> 2542 </tt><a href="UnresolvedBugs">UnresolvedBugs</a></li>
<li>
<tt> 2493 </tt><a href="GenerativeException">GenerativeException</a></li>
@@ -168,10 +170,10 @@
<li>
<tt> 2450 </tt><a href="http://mlton.org/ChrisClearwater_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ChrisClearwater/MoinEditorBackup</a></li>
<li>
+<tt> 2398 </tt><a href="CallingFromCToSML">CallingFromCToSML</a></li>
+<li>
<tt> 2378 </tt><a href="ShowBasis">ShowBasis</a></li>
<li>
-<tt> 2377 </tt><a href="CallingFromCToSML">CallingFromCToSML</a></li>
-<li>
<tt> 2355 </tt><a href="OCaml">OCaml</a></li>
<li>
<tt> 2288 </tt><a href="MLBasisAnnotations">MLBasisAnnotations</a></li>
@@ -188,38 +190,36 @@
<li>
<tt> 2188 </tt><a href="RefFlatten">RefFlatten</a></li>
<li>
-<tt> 2125 </tt><a href="LanguageChanges">LanguageChanges</a></li>
+<tt> 2129 </tt><a href="LanguageChanges">LanguageChanges</a></li>
<li>
<tt> 2124 </tt><a href="MLBasisAnnotationExamples">MLBasisAnnotationExamples</a></li>
<li>
<tt> 2106 </tt><a href="CKitLibrary">CKitLibrary</a></li>
<li>
-<tt> 2099 </tt><a href="http://mlton.org/MatthewFluet_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">MatthewFluet/MoinEditorBackup</a></li>
-<li>
<tt> 2075 </tt><a href="ProfilingCounts">ProfilingCounts</a></li>
<li>
<tt> 2045 </tt><a href="MLtonSocket">MLtonSocket</a></li>
<li>
-<tt> 2003 </tt><a href="Libraries">Libraries</a></li>
-<li>
<tt> 1982 </tt><a href="MLBasis">MLBasis</a></li>
<li>
<tt> 1951 </tt><a href="SimplifyTypes">SimplifyTypes</a></li>
<li>
<tt> 1923 </tt><a href="http://mlton.org/JesperLouisAndersen_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">JesperLouisAndersen/MoinEditorBackup</a></li>
<li>
-<tt> 1919 </tt><a href="WikiTool">WikiTool</a></li>
+<tt> 1903 </tt><a href="WikiTool">WikiTool</a></li>
<li>
<tt> 1893 </tt><a href="XMLShrink">XMLShrink</a></li>
<li>
<tt> 1888 </tt><a href="FAQ">FAQ</a></li>
<li>
+<tt> 1883 </tt><a href="Emacs">Emacs</a></li>
+<li>
<tt> 1880 </tt><a href="Defunctorize">Defunctorize</a></li>
<li>
-<tt> 1877 </tt><a href="Emacs">Emacs</a></li>
-<li>
<tt> 1851 </tt><a href="SMLofNJStructure">SMLofNJStructure</a></li>
<li>
+<tt> 1836 </tt><a href="Libraries">Libraries</a></li>
+<li>
<tt> 1826 </tt><a href="DefineTypeBeforeUse">DefineTypeBeforeUse</a></li>
<li>
<tt> 1814 </tt><a href="RunningOnNetBSD">RunningOnNetBSD</a></li>
@@ -234,6 +234,8 @@
<li>
<tt> 1665 </tt><a href="CallingFromSMLToCFunctionPointer">CallingFromSMLToCFunctionPointer</a></li>
<li>
+<tt> 1655 </tt><a href="Unicode">Unicode</a></li>
+<li>
<tt> 1628 </tt><a href="SSA2">SSA2</a></li>
<li>
<tt> 1596 </tt><a href="MLtonSyslog">MLtonSyslog</a></li>
@@ -250,14 +252,12 @@
<li>
<tt> 1447 </tt><a href="MLtonRlimit">MLtonRlimit</a></li>
<li>
-<tt> 1442 </tt><a href="Contact">Contact</a></li>
+<tt> 1444 </tt><a href="Contact">Contact</a></li>
<li>
<tt> 1439 </tt><a href="EqualityType">EqualityType</a></li>
<li>
<tt> 1432 </tt><a href="ProductType">ProductType</a></li>
<li>
-<tt> 1423 </tt><a href="Experimental">Experimental</a></li>
-<li>
<tt> 1417 </tt><a href="KnownCase">KnownCase</a></li>
<li>
<tt> 1412 </tt><a href="SSA">SSA</a></li>
@@ -276,7 +276,7 @@
<li>
<tt> 1312 </tt><a href="ProfilingAllocation">ProfilingAllocation</a></li>
<li>
-<tt> 1311 </tt><a href="Projects">Projects</a></li>
+<tt> 1295 </tt><a href="Projects">Projects</a></li>
<li>
<tt> 1288 </tt><a href="ToMachine">ToMachine</a></li>
<li>
@@ -322,14 +322,16 @@
<li>
<tt> 998 </tt><a href="WholeProgramOptimization">WholeProgramOptimization</a></li>
<li>
+<tt> 983 </tt><a href="CommonSubexp">CommonSubexp</a></li>
+<li>
<tt> 964 </tt><a href="MLtonIntInf">MLtonIntInf</a></li>
<li>
-<tt> 954 </tt><a href="CommonSubexp">CommonSubexp</a></li>
-<li>
<tt> 949 </tt><a href="DeadCode">DeadCode</a></li>
<li>
<tt> 946 </tt><a href="UnsafeStructure">UnsafeStructure</a></li>
<li>
+<tt> 942 </tt><a href="MLtonRusage">MLtonRusage</a></li>
+<li>
<tt> 940 </tt><a href="Identifier">Identifier</a></li>
<li>
<tt> 907 </tt><a href="PolyEqual">PolyEqual</a></li>
@@ -380,7 +382,7 @@
<li>
<tt> 686 </tt><a href="http://mlton.org/RayRacine_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">RayRacine/MoinEditorBackup</a></li>
<li>
-<tt> 680 </tt><a href="GarbageCollection">GarbageCollection</a></li>
+<tt> 682 </tt><a href="GarbageCollection">GarbageCollection</a></li>
<li>
<tt> 676 </tt><a href="RSSASimplify">RSSASimplify</a></li>
<li>
@@ -394,6 +396,8 @@
<li>
<tt> 662 </tt><a href="mGTK">mGTK</a></li>
<li>
+<tt> 662 </tt><a href="ReleaseChecklist">ReleaseChecklist</a></li>
+<li>
<tt> 660 </tt><a href="http://mlton.org/SureshJagannathan_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">SureshJagannathan/MoinEditorBackup</a></li>
<li>
<tt> 659 </tt><a href="IntroduceLoops">IntroduceLoops</a></li>
@@ -402,28 +406,22 @@
<li>
<tt> 644 </tt><a href="CompilerPassTemplate">CompilerPassTemplate</a></li>
<li>
-<tt> 615 </tt><a href="OpenGL">OpenGL</a></li>
+<tt> 617 </tt><a href="OpenGL">OpenGL</a></li>
<li>
<tt> 614 </tt><a href="StandardMLBooks">StandardMLBooks</a></li>
<li>
-<tt> 610 </tt><a href="ReleaseChecklist">ReleaseChecklist</a></li>
+<tt> 612 </tt><a href="Swerve">Swerve</a></li>
<li>
<tt> 608 </tt><a href="ToSSA2">ToSSA2</a></li>
<li>
<tt> 607 </tt><a href="XMLSimplify">XMLSimplify</a></li>
<li>
-<tt> 601 </tt><a href="http://mlton.org/StephenWeeks_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">StephenWeeks/MoinEditorBackup</a></li>
-<li>
-<tt> 596 </tt><a href="Swerve">Swerve</a></li>
-<li>
<tt> 590 </tt><a href="DefinitionOfStandardML">DefinitionOfStandardML</a></li>
<li>
-<tt> 589 </tt><a href="RunningOnMinGW">RunningOnMinGW</a></li>
+<tt> 583 </tt><a href="http://mlton.org/MichaelNorrish_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">MichaelNorrish/MoinEditorBackup</a></li>
<li>
-<tt> 586 </tt><a href="MLtonRusage">MLtonRusage</a></li>
+<tt> 573 </tt><a href="RunningOnMinGW">RunningOnMinGW</a></li>
<li>
-<tt> 583 </tt><a href="http://mlton.org/MichaelNorrish_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">MichaelNorrish/MoinEditorBackup</a></li>
-<li>
<tt> 571 </tt><a href="Developers">Developers</a></li>
<li>
<tt> 570 </tt><a href="ForeignFunctionInterface">ForeignFunctionInterface</a></li>
@@ -434,17 +432,17 @@
<li>
<tt> 547 </tt><a href="FrontEnd">FrontEnd</a></li>
<li>
+<tt> 533 </tt><a href="OtherSites">OtherSites</a></li>
+<li>
<tt> 531 </tt><a href="RedundantTests">RedundantTests</a></li>
<li>
<tt> 527 </tt><a href="Multi">Multi</a></li>
<li>
<tt> 523 </tt><a href="RunningOnOpenBSD">RunningOnOpenBSD</a></li>
<li>
-<tt> 523 </tt><a href="Bug">Bug</a></li>
-<li>
<tt> 521 </tt><a href="IntermediateLanguage">IntermediateLanguage</a></li>
<li>
-<tt> 520 </tt><a href="OtherSites">OtherSites</a></li>
+<tt> 507 </tt><a href="Bug">Bug</a></li>
<li>
<tt> 505 </tt><a href="SMLNJ">SMLNJ</a></li>
<li>
@@ -464,8 +462,6 @@
<li>
<tt> 454 </tt><a href="MLtonItimer">MLtonItimer</a></li>
<li>
-<tt> 450 </tt><a href="StandardMLImplementations">StandardMLImplementations</a></li>
-<li>
<tt> 448 </tt><a href="CoreML">CoreML</a></li>
<li>
<tt> 447 </tt><a href="PlatformSpecificNotes">PlatformSpecificNotes</a></li>
@@ -476,7 +472,7 @@
<li>
<tt> 426 </tt><a href="RSSAShrink">RSSAShrink</a></li>
<li>
-<tt> 426 </tt><a href="MatthewFluet">MatthewFluet</a></li>
+<tt> 421 </tt><a href="Poplog">Poplog</a></li>
<li>
<tt> 414 </tt><a href="MLNLFFI">MLNLFFI</a></li>
<li>
@@ -490,14 +486,18 @@
<li>
<tt> 405 </tt><a href="ConstantPropagation">ConstantPropagation</a></li>
<li>
+<tt> 400 </tt><a href="TalkStandardML">TalkStandardML</a></li>
+<li>
<tt> 400 </tt><a href="http://mlton.org/RecentChanges"><img src="moin-www.png" alt="[WWW]" height="11" width="11">RecentChanges</a></li>
<li>
-<tt> 400 </tt><a href="TalkStandardML">TalkStandardML</a></li>
-<li>
<tt> 397 </tt><a href="TalkMLtonFeatures">TalkMLtonFeatures</a></li>
<li>
+<tt> 391 </tt><a href="StandardMLImplementations">StandardMLImplementations</a></li>
+<li>
<tt> 379 </tt><a href="Home">Home</a></li>
<li>
+<tt> 372 </tt><a href="MatthewFluet">MatthewFluet</a></li>
+<li>
<tt> 371 </tt><a href="MLtonWord">MLtonWord</a></li>
<li>
<tt> 369 </tt><a href="TalkWholeProgram">TalkWholeProgram</a></li>
@@ -520,6 +520,8 @@
<li>
<tt> 340 </tt><a href="MatchCompilation">MatchCompilation</a></li>
<li>
+<tt> 337 </tt><a href="AllocateRegisters">AllocateRegisters</a></li>
+<li>
<tt> 337 </tt><a href="ToRSSA">ToRSSA</a></li>
<li>
<tt> 336 </tt><a href="ParallelMove">ParallelMove</a></li>
@@ -530,6 +532,8 @@
<li>
<tt> 321 </tt><a href="MLtonVector">MLtonVector</a></li>
<li>
+<tt> 320 </tt><a href="http://mlton.org/StephenWeeks_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">StephenWeeks/MoinEditorBackup</a></li>
+<li>
<tt> 318 </tt><a href="MLtonArray">MLtonArray</a></li>
<li>
<tt> 314 </tt><a href="http://mlton.org/HenryCejtin_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">HenryCejtin/MoinEditorBackup</a></li>
@@ -540,8 +544,6 @@
<li>
<tt> 305 </tt><a href="ImplementHandlers">ImplementHandlers</a></li>
<li>
-<tt> 291 </tt><a href="AllocateRegisters">AllocateRegisters</a></li>
-<li>
<tt> 286 </tt><a href="ImplementProfiling">ImplementProfiling</a></li>
<li>
<tt> 279 </tt><a href="ImplementExceptions">ImplementExceptions</a></li>
@@ -550,6 +552,8 @@
<li>
<tt> 277 </tt><a href="TalkFolkLore">TalkFolkLore</a></li>
<li>
+<tt> 273 </tt><a href="http://mlton.org/MatthewFluet_2fMoinEditorBackup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">MatthewFluet/MoinEditorBackup</a></li>
+<li>
<tt> 270 </tt><a href="TalkHowHigherOrder">TalkHowHigherOrder</a></li>
<li>
<tt> 267 </tt><a href="InsertSignalChecks">InsertSignalChecks</a></li>
@@ -584,9 +588,11 @@
<li>
<tt> 218 </tt><a href="MoscowML">MoscowML</a></li>
<li>
+<tt> 218 </tt><a href="http://mlton.org/TemporaryUpload"><img src="moin-www.png" alt="[WWW]" height="11" width="11">TemporaryUpload</a></li>
+<li>
<tt> 217 </tt><a href="HenryCejtin">HenryCejtin</a></li>
<li>
-<tt> 211 </tt><a href="http://mlton.org/TemporaryUpload"><img src="moin-www.png" alt="[WWW]" height="11" width="11">TemporaryUpload</a></li>
+<tt> 209 </tt><a href="fxp">fxp</a></li>
<li>
<tt> 201 </tt><a href="Serialization">Serialization</a></li>
<li>
@@ -594,6 +600,8 @@
<li>
<tt> 196 </tt><a href="MoinMoin">MoinMoin</a></li>
<li>
+<tt> 188 </tt><a href="TomMurphy">TomMurphy</a></li>
+<li>
<tt> 186 </tt><a href="Variant">Variant</a></li>
<li>
<tt> 184 </tt><a href="SpaceSafety">SpaceSafety</a></li>
@@ -602,12 +610,12 @@
<li>
<tt> 176 </tt><a href="StephenWeeks">StephenWeeks</a></li>
<li>
+<tt> 176 </tt><a href="TalkDiveIn">TalkDiveIn</a></li>
+<li>
<tt> 175 </tt><a href="JohnnyAndersen">JohnnyAndersen</a></li>
<li>
<tt> 174 </tt><a href="WikiName">WikiName</a></li>
<li>
-<tt> 167 </tt><a href="TalkDiveIn">TalkDiveIn</a></li>
-<li>
<tt> 165 </tt><a href="Mutable">Mutable</a></li>
<li>
<tt> 161 </tt><a href="RunningOnDarwin">RunningOnDarwin</a></li>
@@ -618,8 +626,6 @@
<li>
<tt> 152 </tt><a href="StyleGuide">StyleGuide</a></li>
<li>
-<tt> 151 </tt><a href="Unicode">Unicode</a></li>
-<li>
<tt> 136 </tt><a href="Survey">Survey</a></li>
<li>
<tt> 136 </tt><a href="TalkTemplate">TalkTemplate</a></li>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Papers
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Papers 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Papers 2005-11-22 03:02:45 UTC (rev 4248)
@@ -27,7 +27,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ParallelMove
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ParallelMove 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ParallelMove 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/parallel-move.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">parallel-move.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/parallel-move.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">parallel-move.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/parallel-move.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">parallel-move.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/parallel-move.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">parallel-move.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Performance
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Performance 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Performance 2005-11-22 03:02:45 UTC (rev 4248)
@@ -75,7 +75,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PhantomType
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PhantomType 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PhantomType 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PlatformSpecificNotes
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PlatformSpecificNotes 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PlatformSpecificNotes 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyEqual
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyEqual 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyEqual 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/poly-equal.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">poly-equal.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/poly-equal.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">poly-equal.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/poly-equal.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">poly-equal.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/poly-equal.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">poly-equal.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
For each datatype, tycon, and vector type, it builds and equality function and translates calls to <tt>MLton_equal</tt> into calls to that function.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PolyML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PolymorphicEquality
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PolymorphicEquality 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PolymorphicEquality 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -90,7 +90,7 @@
The one ground type that can not be compared is <tt>real</tt>. So, <tt>13.0 = 14.0</tt> is not type correct. One can use <tt>Real.==</tt> to compare reals for equality, but beware that this has different algebraic properties than polymorphic equality.
</p>
<p>
-See <a href="http://mlton.org/basis/real.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/basis/real.html</a> for a discussion of why <tt>real</tt> is not an equality type.
+See <a class="external" href="http://mlton.org/basis/real.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/basis/real.html</a> for a discussion of why <tt>real</tt> is not an equality type.
</p>
<h2 id="head-16f64cbf7b943934e1a83e690a579efe57383553">Equality of functions</h2>
<p>
@@ -252,5 +252,5 @@
<p>
<hr>
-Last edited on 2005-01-26 20:31:49 by <span title="cfs36.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:29:40 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Polyvariance
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Polyvariance 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Polyvariance 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/polyvariance.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">polyvariance.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/polyvariance.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">polyvariance.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/polyvariance.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">polyvariance.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/polyvariance.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">polyvariance.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Copied: mlton/branches/on-20050822-x86_64-branch/doc/guide/Poplog (from rev 4247, mlton/trunk/doc/guide/Poplog)
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PortingMLton
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PortingMLton 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PortingMLton 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -344,12 +344,12 @@
<li>
<p>
- <a href="http://mlton.org/pipermail/mlton/2002-October/013110.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2002-October/013110.html</a>
+ <a class="external" href="http://mlton.org/pipermail/mlton/2002-October/013110.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2002-October/013110.html</a>
</p>
</li>
<li>
<p>
- <a href="http://mlton.org/pipermail/mlton/2004-July/016029.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-July/016029.html</a>
+ <a class="external" href="http://mlton.org/pipermail/mlton/2004-July/016029.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-July/016029.html</a>
</p>
</li>
</ul>
@@ -360,5 +360,5 @@
<p>
<hr>
-Last edited on 2005-01-28 21:44:56 by <span title="cfs36.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:29:57 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PrecedenceParse
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PrecedenceParse 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PrecedenceParse 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/precedence-parse.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">precedence-parse.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/precedence-parse.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">precedence-parse.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/precedence-parse.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">precedence-parse.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/precedence-parse.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">precedence-parse.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Printf
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Printf 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Printf 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PrintfGentle
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PrintfGentle 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PrintfGentle 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ProductType
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ProductType 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ProductType 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Profiling
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Profiling 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Profiling 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingAllocation
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingAllocation 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingAllocation 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingCounts
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingCounts 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingCounts 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTheStack
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTheStack 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTheStack 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTime
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTime 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ProfilingTime 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Projects
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Projects 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Projects 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,7 +49,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-We have lots of ideas for projects to improve MLton, many of which we do not have time to implement, or at least haven't started on yet. Here is a list of some of those improvements, ranging from the easy (1 week) to the difficult (several months). If you have any interest in working on one of these, or some other improvement to MLton not listed here, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">MLton@mlton.org</a>.
+We have lots of ideas for projects to improve MLton, many of which we do not have time to implement, or at least haven't started on yet. Here is a list of some of those improvements, ranging from the easy (1 week) to the difficult (several months). If you have any interest in working on one of these, or some other improvement to MLton not listed here, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton@mlton.org</a>.
<ul>
<li>
@@ -164,5 +164,5 @@
<p>
<hr>
-Last edited on 2005-04-25 18:49:12 by <span title="adsl-63-195-184-50.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:19:32 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Pronounce
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Pronounce 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Pronounce 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/PropertyList
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/PropertyList 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/PropertyList 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -132,9 +132,9 @@
<h2 id="head-a4bc8bf5caf54b18cea9f58e83dd4acb488deb17">Also see</h2>
<p>
MLton relies heavily on property lists for attaching information to syntax tree nodes in its intermediate languages. See
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/lib/mlton/basic/property-list.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">property-list.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/lib/mlton/basic/property-list.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">property-list.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/lib/mlton/basic/property-list.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">property-list.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/lib/mlton/basic/property-list.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">property-list.fun</a>
.
</p>
<p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSA
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSA 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSA 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/rssa.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">rssa.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/rssa.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">rssa.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/rssa.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">rssa.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/rssa.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">rssa.fun</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
The new type language is aimed at expressing bit-level control over layout and associated packing of data representations. There are singleton types that denote constants, other atomic types for things like integers and reals, and arbitrary sum types and sequence (tuple) types. The big change to the type system is that type checking is now based on subtyping, not type equality. So, for example, the singleton type 0xFFFFEEBB whose only inhabitant is the eponymous constant is a subtype of the type Word32.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSAShrink
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSAShrink 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSAShrink 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -72,14 +72,14 @@
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSASimplify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSASimplify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RSSASimplify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -50,9 +50,9 @@
</table>
<div id="content" lang="en" dir="ltr">
The optimization passes for the <a href="RSSA">RSSA</a> <a href="IntermediateLanguage">IntermediateLanguage</a> are collected and controlled by the <tt>Backend</tt> functor (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/backend.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/backend.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.sig</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/backend.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/backend.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.fun</a>
). <p>
The following optimization pass is implemented:
</p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RayRacine
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RayRacine 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RayRacine 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Redundant
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Redundant 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Redundant 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/redundant.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/redundant.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/redundant.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/redundant.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
The reason Redundant got put in was due to some output of the <a href="ClosureConvert">ClosureConvert</a> pass converter where the environment record, or components of it, were passed around in several places. That may have been more relevant with polyvariant analyses (which are long gone). But it still seems possibly relevant, especially with more aggressive flattening, which should reveal some fields in nested closure records that are redundant.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RedundantTests
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RedundantTests 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RedundantTests 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/redundant-tests.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant-tests.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/redundant-tests.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant-tests.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/redundant-tests.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant-tests.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/redundant-tests.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">redundant-tests.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
An additional test will sometimes eliminate the overflow test when adding or subtracting 1. In particular, it will eliminate it in the following cases:
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RefFlatten
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RefFlatten 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RefFlatten 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -62,9 +62,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ref-flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ref-flatten.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ref-flatten.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ref-flatten.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ref-flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ref-flatten.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ref-flatten.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ref-flatten.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
The savings is obvious, I hope. We avoid an extra heap-allocated object for the <tt>ref</tt>, which in the above case saves two words. We also save the time and code for the extra indirection at each get and set. There are lots of useful data structures (singly-linked and doubly-linked lists, union-find, fibonacci heaps, ...) that I believe we are paying through the nose right now because of the absence of ref flattening.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/References
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/References 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/References 2005-11-22 03:02:45 UTC (rev 4248)
@@ -27,7 +27,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -51,8 +51,8 @@
</table>
<div id="content" lang="en" dir="ltr">
-<a href="#A">A</a> <a href="#B">B</a> <a href="#C">C</a> <a href="#D">D</a> <a href="#E">E</a> <a href="#F">F</a> <a href="#G">G</a> <a href="#H">H</a> <a href="#I">I</a> <a href="#J">J</a> <a href="#K">K</a> <a href="#L">L</a> <a href="#M">M</a> <a href="#N">N</a> <a href="#O">O</a> <a href="#P">P</a> <a href="#Q">Q</a> <a href="#R">R</a> <a href="#S">S</a> <a href="#T">T</a> <a href="#U">U</a> <a href="#V">V</a> <a href="#W">W</a> <a href="#X">X</a> <a href="#Y">Y</a> <a href="#Z">Z</a> <p>
-<a id="A"></a>
+<a href="#A_References">A</a> <a href="#B_References">B</a> <a href="#C_References">C</a> <a href="#D_References">D</a> <a href="#E_References">E</a> <a href="#F_References">F</a> <a href="#G_References">G</a> <a href="#H_References">H</a> <a href="#I_References">I</a> <a href="#J_References">J</a> <a href="#K_References">K</a> <a href="#L_References">L</a> <a href="#M_References">M</a> <a href="#N_References">N</a> <a href="#O_References">O</a> <a href="#P_References">P</a> <a href="#Q_References">Q</a> <a href="#R_References">R</a> <a href="#S_References">S</a> <a href="#T_References">T</a> <a href="#U_References">U</a> <a href="#V_References">V</a> <a href="#W_References">W</a> <a href="#X_References">X</a> <a href="#Y_References">Y</a> <a href="#Z_References">Z</a> <p>
+<a id="A_References"></a>
</p>
<ul>
@@ -77,7 +77,7 @@
<p>
-<a id="B"></a>
+<a id="B_References"></a>
</p>
<ul>
@@ -146,7 +146,7 @@
<p>
-<a id="C"></a>
+<a id="C_References"></a>
</p>
<ul>
@@ -168,7 +168,7 @@
<p>
-<a id="D"></a>
+<a id="D_References"></a>
</p>
<ul>
@@ -178,12 +178,24 @@
<a id="Danvy98"></a> <a class="external" href="http://citeseer.ist.psu.edu/danvy98functional.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Functional Unparsing</a>. Olivier Danvy. BRICS Technical Report RS 98-12, 1998.
</p>
</li>
+ <li class="gap">
+<p>
+ <a id="Dubois95"></a> <a class="external" href="ftp://ftp.inria.fr/INRIA/Projects/cristal/Francois.Rouaix/generics.dvi.Z"><img src="moin-ftp.png" alt="[FTP]" height="11" width="11">Extensional Polymorphism</a>. Catherin Dubois, Francois Rouaix, and Pierre Weis. <a href="#POPL">POPL</a> 1995.
+</p>
+</li>
+ <ul>
+
+ <em>An extension of ML that allows the definition of ad-hoc polymorphic functions by inspecting the type of their argument.</em>
+ </ul>
+
+
+
</ul>
<p>
-<a id="E"></a>
+<a id="E_References"></a>
</p>
<ul>
@@ -203,7 +215,7 @@
<p>
-<a id="F"></a>
+<a id="F_References"></a>
</p>
<ul>
@@ -235,12 +247,24 @@
<a id="FluetPucella02"></a> <a class="external" href="http://arxiv.org/abs/cs.PL/0403034"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Phantom Types and Subtyping</a>. Matthew Fluet and Riccardo Pucella. <a href="#TCS">TCS</a> 2002.
</p>
</li>
+ <li class="gap">
+<p>
+ <a id="Furuse01"></a> <a class="external" href="http://pauillac.inria.fr/~furuse/publications/jfla2001.ps.gz"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Generic Polymorphism in ML</a>. J. Furuse. <a href="#JFLA">JFLA</a> 2001.
+</p>
+</li>
+ <ul>
+
+ <em>The formalism behind G'CAML, which has an approach to ad-hoc polymorphism based on <a href = "References#Dubois94">Dubois94</a>, the differences being in how type checking works an an improved compilation approach for typecase that does the matching at compile time, not run time.</em>
+ </ul>
+
+
+
</ul>
<p>
-<a id="G"></a>
+<a id="G_References"></a>
</p>
<ul>
@@ -267,7 +291,7 @@
<p>
-<a id="H"></a>
+<a id="H_References"></a>
</p>
<ul>
@@ -292,7 +316,7 @@
<p>
-<a id="I"></a> <a id="J"></a>
+<a id="I_References"></a> <a id="J_References"></a>
</p>
<ul>
@@ -307,7 +331,7 @@
<p>
-<a id="K"></a>
+<a id="K_References"></a>
</p>
<ul>
@@ -327,12 +351,17 @@
</ul>
+ <li class="gap">
+<p>
+ <a id="Kennedy04"></a> <a class="external" href="http://research.microsoft.com/~akenn/fun/picklercombinators.pdf"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Pickler Combinators</a>. Andrew Kennedy. <a href="#JFP">JFP</a>, 14(6): 727-739, 2004.
+</p>
+</li>
</ul>
<p>
-<a id="L"></a>
+<a id="L_References"></a>
</p>
<ul>
@@ -374,7 +403,7 @@
<p>
-<a id="M"></a>
+<a id="M_References"></a>
</p>
<ul>
@@ -456,7 +485,7 @@
<p>
-<a id="N"></a>
+<a id="N_References"></a>
</p>
<ul>
@@ -483,7 +512,7 @@
<p>
-<a id="O"></a>
+<a id="O_References"></a>
</p>
<ul>
@@ -498,7 +527,7 @@
<p>
-<a id="P"></a>
+<a id="P_References"></a>
</p>
<ul>
@@ -525,7 +554,7 @@
<p>
-<a id="Q"></a> <a id="R"></a>
+<a id="Q_References"></a> <a id="R_References"></a>
</p>
<ul>
@@ -569,7 +598,7 @@
<p>
-<a id="S"></a>
+<a id="S_References"></a>
</p>
<ul>
@@ -584,6 +613,13 @@
<a id="Scott00"></a> <a class="external" href="http://citeseer.ist.psu.edu/scott00when.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">When Do Match-Compilation Heuristics Matter</a>. Kevin Scott and Norman Ramsey. University of Virginia Technical Report CS-2000-13.
</p>
</li>
+
+ <ul>
+
+ <em>Modified SML/NJ to experimentally compare a number of match-compilation heuristics and showed that choice of heuristic usually does not significantly affect code size or run time.</em>
+ </ul>
+
+
<li class="gap">
<p>
<a id="Sestoft96"></a> <a class="external" href="http://citeseer.ist.psu.edu/sestoft96ml.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ML pattern match compilation and partial evaluation</a>. Peter Sestoft. Partial Evaluation, 1996.
@@ -618,7 +654,7 @@
<p>
-<a id="T"></a>
+<a id="T_References"></a>
</p>
<ul>
@@ -630,7 +666,7 @@
</li>
<li class="gap">
<p>
- <a id="Tofte90"></a> Type Inference for Polymorphic References. Mads Tofte. Information and Computation, 89(1), 1990.
+ <a id="Tofte90"></a> Type Inference for Polymorphic References. Mads Tofte. Information and Computation, 89(1_References), 1990.
</p>
</li>
@@ -638,7 +674,7 @@
<p>
-<a id="U"></a>
+<a id="U_References"></a>
</p>
<ul>
@@ -653,7 +689,7 @@
<p>
-<a id="V"></a> <a id="W"></a>
+<a id="V_References"></a> <a id="W_References"></a>
</p>
<ul>
@@ -716,7 +752,7 @@
<p>
-<a id="X"></a> <a id="Y"></a> <a id="Z"></a>
+<a id="X_References"></a> <a id="Y_References"></a> <a id="Z_References"></a>
</p>
<h2 id="head-a90aba13b6feb8ff1a5141d94cb1fc2fe96e9477">Abbreviations</h2>
@@ -800,5 +836,5 @@
<p>
<hr>
-Last edited on 2005-07-26 18:19:15 by <span title="adsl-64-166-226-32.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-11-14 23:08:59 by <span title="fox.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Regions
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Regions 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Regions 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -98,7 +98,7 @@
<ul>
- <a href="http://www.cs.cornell.edu/People/fluet/rgn-monad/index.html">http://www.cs.cornell.edu/People/fluet/rgn-monad/index.html</a>
+ <a class="external" href="http://www.cs.cornell.edu/People/fluet/rgn-monad/index.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://www.cs.cornell.edu/People/fluet/rgn-monad/index.html</a>
</ul>
@@ -111,5 +111,5 @@
<p>
<hr>
-Last edited on 2004-11-23 22:47:40 by <span title="adsl-67-124-249-200.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:20:00 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ReleaseChecklist
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ReleaseChecklist 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ReleaseChecklist 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -67,7 +67,7 @@
<li>
<p>
- <tt>basis</tt> gets a snapshot of <a href="http://standardml.org/Basis">http://standardml.org/Basis</a>.
+ <tt>basis</tt> gets a snapshot of <a class="external" href="http://standardml.org/Basis"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://standardml.org/Basis</a>.
</p>
</li>
<li>
@@ -104,22 +104,22 @@
<li>
<p>
- <a href="mailto:MLton@mlton.org">MLton@mlton.org</a>
+ <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton@mlton.org</a>
</p>
</li>
<li>
<p>
- <a href="mailto:MLton-user@mlton.org">MLton-user@mlton.org</a>
+ <a class="external" href="mailto:MLton-user@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton-user@mlton.org</a>
</p>
</li>
<li>
<p>
- <a href="mailto:sml-list@cs.cmu.edu">sml-list@cs.cmu.edu</a> (aka comp.lang.ml)
+ <a class="external" href="mailto:sml-list@cs.cmu.edu"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:sml-list@cs.cmu.edu</a> (aka <a class="external" href="news:comp.lang.ml"><img src="moin-news.png" alt="[NEWS]" height="11" width="10">news:comp.lang.ml</a>)
</p>
</li>
<li>
<p>
- <a href="mailto:lwn@lwn.net">lwn@lwn.net</a> (linux weekly news)
+ <a class="external" href="mailto:lwn@lwn.net"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:lwn@lwn.net</a> (linux weekly news)
</p>
</li>
@@ -136,7 +136,7 @@
<li>
<p>
- comp.lang.functional
+ <a class="external" href="news:comp.lang.functional"><img src="moin-news.png" alt="[NEWS]" height="11" width="10">news:comp.lang.functional</a>
</p>
</li>
@@ -166,5 +166,5 @@
<p>
<hr>
-Last edited on 2004-11-10 22:10:57 by <span title="adsl-67-124-249-200.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-06 23:20:24 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RemoveUnused
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RemoveUnused 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RemoveUnused 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -117,13 +117,13 @@
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/remove-unused.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/remove-unused.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/remove-unused.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/remove-unused.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused.fun</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/remove-unused2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused2.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/remove-unused2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused2.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/remove-unused2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused2.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/remove-unused2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">remove-unused2.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Restore
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Restore 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Restore 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -62,14 +62,14 @@
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/restore.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/restore.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/restore.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/restore.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/restore2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore2.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/restore2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore2.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/restore2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore2.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/restore2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">restore2.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Based primarily on Section 19.1 of <a href = "References#Appel98">Modern Compiler Implementation in ML</a>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunTimeOptions
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunTimeOptions 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunTimeOptions 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnCygwin
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnCygwin 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnCygwin 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnDarwin
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnDarwin 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnDarwin 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnFreeBSD
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnFreeBSD 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnFreeBSD 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnLinux
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnLinux 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnLinux 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnMinGW
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnMinGW 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnMinGW 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,7 +49,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-Support for MLton on MinGW is preliminary. We are still working on resolving the issues below. If you are interested to help out, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">MLton@mlton.org</a> and get involved with MLton <a href="Development">Development</a>.
+Support for MLton on MinGW is preliminary. We are still working on resolving the issues below. If you are interested to help out, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton@mlton.org</a> and get involved with MLton <a href="Development">Development</a>.
<ul>
<li>
@@ -75,5 +75,5 @@
<p>
<hr>
-Last edited on 2005-01-24 15:11:09 by <span title="cfs35.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:20:33 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnNetBSD
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnNetBSD 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnNetBSD 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnOpenBSD
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnOpenBSD 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnOpenBSD 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnPowerPC
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnPowerPC 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnPowerPC 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSolaris
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSolaris 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSolaris 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSparc
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSparc 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/RunningOnSparc 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNET
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNET 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNET 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJ
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJ 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJ 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJDeviations
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJDeviations 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJDeviations 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -49,7 +49,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-Here are some deviations of <a href="SMLNJ">SML/NJ</a> from the <a href="DefinitionOfStandardML">Definition of SML</a>. Some of these are documented in the <a class="external" href="http://www.smlnj.org/doc/Conversion/index.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">SML '97 Conversion Guide</a>. Since MLton does not deviate from the Definition, you should look here if you are having trouble porting a program from MLton to SML/NJ or vice versa. If you discover other deviations of SML/NJ that aren't listed here, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">MLton@mlton.org</a>.
+Here are some deviations of <a href="SMLNJ">SML/NJ</a> from the <a href="DefinitionOfStandardML">Definition of SML</a>. Some of these are documented in the <a class="external" href="http://www.smlnj.org/doc/Conversion/index.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">SML '97 Conversion Guide</a>. Since MLton does not deviate from the Definition, you should look here if you are having trouble porting a program from MLton to SML/NJ or vice versa. If you discover other deviations of SML/NJ that aren't listed here, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton@mlton.org</a>.
<ul>
<li>
@@ -332,5 +332,5 @@
<p>
<hr>
-Last edited on 2005-06-10 04:39:49 by <span title="cs78147114.pp.htv.fi"><a href="VesaKarvonen">VesaKarvonen</a></span>.
+Last edited on 2005-09-06 23:20:48 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJLibrary
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJLibrary 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLNJLibrary 2005-11-22 03:02:45 UTC (rev 4248)
@@ -27,7 +27,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -236,7 +236,7 @@
<li>
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/lib/smlnj-lib/smlnj-lib.patch?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">smlnj-lib.patch</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/lib/smlnj-lib/smlnj-lib.patch?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">smlnj-lib.patch</a>
</p>
</li>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLofNJStructure
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLofNJStructure 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SMLofNJStructure 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,14 +58,14 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa-tree.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa-tree.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa-tree.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa-tree.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree.fun</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
Type checking of a SSA program verfies the following:
@@ -109,9 +109,9 @@
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/type-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/type-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/type-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/type-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.fun</a>
</p>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -61,14 +61,14 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa2.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa2.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa2.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa2.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa-tree2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree2.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa-tree2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree2.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa-tree2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree2.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa-tree2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-tree2.fun</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
Type checking of a SSA2 program verfies the following:
@@ -112,9 +112,9 @@
<p>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/type-check2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check2.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/type-check2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check2.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/type-check2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check2.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/type-check2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check2.fun</a>
</p>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2Simplify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2Simplify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SSA2Simplify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -50,9 +50,9 @@
</table>
<div id="content" lang="en" dir="ltr">
The optimization passes for the <a href="SSA2">SSA2</a> <a href="IntermediateLanguage">IntermediateLanguage</a> are collected and controlled by the <tt>Simplify2</tt> functor (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/simplify2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify2.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/simplify2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify2.sig</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/simplify2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify2.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/simplify2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify2.fun</a>
). <p>
The following optimization passes are implemented:
</p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SSASimplify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SSASimplify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SSASimplify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -50,9 +50,9 @@
</table>
<div id="content" lang="en" dir="ltr">
The optimization passes for the <a href="SSA">SSA</a> <a href="IntermediateLanguage">IntermediateLanguage</a> are collected and controlled by the <tt>Simplify</tt> functor (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/simplify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/simplify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify.sig</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/simplify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/simplify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify.fun</a>
). <p>
The following optimization passes are implemented:
</p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SXML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SXML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SXML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,12 +55,12 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/sxml.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/sxml.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/sxml.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/sxml.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/sxml-tree.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml-tree.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/sxml-tree.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml-tree.sig</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
SXML shares the type checker for <a href="XML">XML</a>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLShrink
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLShrink 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLShrink 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
<a href="SXML">SXML</a> shares the <a href="XMLShrink">XMLShrink</a> simplifier.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLSimplify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLSimplify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SXMLSimplify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -50,9 +50,9 @@
</table>
<div id="content" lang="en" dir="ltr">
The optimization passes for the <a href="SXML">SXML</a> <a href="IntermediateLanguage">IntermediateLanguage</a> are collected and controlled by the <tt>SxmlSimplify</tt> functor (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/sxml-simplify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml-simplify.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/sxml-simplify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml-simplify.sig</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/sxml-simplify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml-simplify.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/sxml-simplify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">sxml-simplify.fun</a>
). <p>
The following optimization passes are implemented:
</p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ScopeInference
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ScopeInference 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ScopeInference 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/scope.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">scope.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/scope.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">scope.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/elaborate/scope.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">scope.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/elaborate/scope.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">scope.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Scope inference determines for each type variable, the declaration where it is bound. Scope inference is a direct implementation of the specification given in section 4.6 of the [:DefinitionOfStandardML: Definition]. Recall that a free occurrence of a type variable <tt>'a</tt> in a declaration <tt>d</tt> is <em>unguarded</em> in <tt>d</tt> if <tt>'a</tt> is not part of a smaller declaration. A type variable <tt>'a</tt> is implicitly scoped at <tt>d</tt> if <tt>'a</tt> is unguarded in <tt>d</tt> and <tt>'a</tt> does not occur unguarded in any declaration containing <tt>d</tt>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SelfCompiling
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SelfCompiling 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SelfCompiling 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -89,7 +89,8 @@
<li class="gap">
<p>
Mac OS X executables do not seem to like static libraries to have a different path location at runtime compared to when the executable was built. For example, the binary package for Mac OS X unpacks to <tt>/usr</tt>. If you try to install it in <tt>/usr/local</tt> you may get the following errors:
-<pre>/usr/bin/ld: table of contents for archive: /usr/local/lib/mlton/self/libmlton.a is out of date;
+<pre>/usr/bin/ld: table of contents for archive:
+/usr/local/lib/mlton/self/libmlton.a is out of date;
rerun ranlib(1) (can't load from it)
</pre> Although running <tt>ranlib</tt> seems like the right thing to do, it doesn't actually resolve the problem. Best bet is to just install in <tt>/usr</tt> and then either live with this location, or build MLton yourself and install in <tt>/usr/local</tt>.
</p>
@@ -108,5 +109,5 @@
<p>
<hr>
-Last edited on 2005-02-28 07:54:28 by <span title="adsl-69-234-103-239.dsl.irvnca.pacbell.net">BrentFulgham</span>.
+Last edited on 2005-11-13 23:21:25 by <span title="pool-68-162-172-153.pitt.east.verizon.net">AdamGoode</span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Serialization
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Serialization 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Serialization 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ShowBasis
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ShowBasis 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ShowBasis 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Shrink
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Shrink 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Shrink 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -87,14 +87,14 @@
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
The Shrink pass is run after every <a href="SSA">SSA</a> and <a href="SSA2">SSA2</a> optimization pass.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SimplifyTypes
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SimplifyTypes 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SimplifyTypes 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -133,9 +133,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/simplify-types.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/simplify-types.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/simplify-types.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/simplify-types.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
This pass must happen before polymorphic equality is implemented becuase
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Sources
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Sources 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Sources 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -65,7 +65,7 @@
<h2 id="head-164b3d4809f98d0458414f1bf9cf3c9dcba16bb5">Changelog</h2>
<p>
See the
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/doc/changelog?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">changelog</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/doc/changelog?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">changelog</a>
for a list of changes and bug fixes.
</p>
<h2 id="head-5e1dd8155002a7d7db24335015acaddd25a44f09">CVS</h2>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SpaceSafety
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SpaceSafety 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SpaceSafety 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLBooks
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLBooks 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLBooks 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLHistory
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLHistory 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLHistory 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLImplementations
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLImplementations 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLImplementations 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -79,6 +79,11 @@
</li>
<li>
<p>
+ <a href="Poplog">Poplog</a>
+</p>
+</li>
+ <li>
+<p>
<a href="SMLNJ">SML/NJ</a>
</p>
</li>
@@ -135,11 +140,6 @@
</li>
<li>
<p>
- <a class="external" href="ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/freepoplog.html"><img src="moin-ftp.png" alt="[FTP]" height="11" width="11">Free POPLOG</a>
-</p>
-</li>
- <li>
-<p>
<a class="external" href="http://www.cs.cornell.edu/Info/People/jgm/til.tar.Z"><img src="moin-www.png" alt="[WWW]" height="11" width="11">TIL</a>
</p>
</li>
@@ -151,5 +151,5 @@
<p>
<hr>
-Last edited on 2005-07-27 18:18:47 by <span title="adsl-64-166-226-32.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-10-09 23:07:21 by <span title="adsl-64-166-225-6.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLPortability
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLPortability 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLPortability 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLTutorials
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLTutorials 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StandardMLTutorials 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StephenWeeks
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StephenWeeks 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StephenWeeks 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/StyleGuide
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/StyleGuide 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/StyleGuide 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Subversion
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Subversion 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Subversion 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SureshJagannathan
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SureshJagannathan 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SureshJagannathan 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Survey
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Survey 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Survey 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SurveyDone
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SurveyDone 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SurveyDone 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Swerve
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Swerve 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Swerve 2005-11-22 03:02:45 UTC (rev 4248)
@@ -26,7 +26,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -50,7 +50,7 @@
</table>
<div id="content" lang="en" dir="ltr">
-<a class="external" href="http://web.access.net.au/felixadv/files/output/book/c3253.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Swerve</a> is an HTTP server written in SML, originally developed with SML/NJ. <a href="RayRacine">RayRacine</a> ported Swerve to MLton in January 2005. <p>
+<a class="external" href="http://ftp.sun.ac.za/ftp/mirrorsites/ocaml/Systems_programming/book/c3253.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Swerve</a> is an HTTP server written in SML, originally developed with SML/NJ. <a href="RayRacine">RayRacine</a> ported Swerve to MLton in January 2005. <p>
<a href="http://mlton.org/pages/Swerve/attachments/swerve.tar.bz2"><img src="moin-www.png" alt="[WWW]" height="11" width="11">download the port</a>
</p>
<p>
@@ -67,5 +67,5 @@
<p>
<hr>
-Last edited on 2005-06-19 01:06:54 by <span title="69-163-240-36.atlsfl.adelphia.net"><a href="RayRacine">RayRacine</a></span>.
+Last edited on 2005-10-24 00:55:35 by <span title="ursula.cs.purdue.edu">PhilipSchatz</span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SyntacticConventions
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SyntacticConventions 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SyntacticConventions 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/SystemInfo
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/SystemInfo 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/SystemInfo 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -51,7 +51,7 @@
<div id="content" lang="en" dir="ltr">
<p>
<dl><dt>Python Version</dt><dd>2.2.3 (#1, Oct 25 2004, 20:26:02)
-[GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-113)]</dd><dt>MoinMoin Version</dt><dd>Release 1.2.3 [Revision 1.186]</dd><dt>Number of pages</dt><dd>304</dd><dt>Number of system pages</dt><dd>2</dd><dt>Number of backup versions</dt><dd>1110</dd><dt>Accumulated page sizes</dt><dd>522770</dd><dt>Entries in edit log</dt><dd>1548 (150752 bytes)</dd><dt>Event log</dt><dd>23402431 bytes</dd><dt>Global extension macros</dt><dd>AbandonedPages, BR, FootNote, Form, FullSearch, GetText, Include, Navigation, OrphanedPages, PageHits, PageSize, RandomPage, RandomQuote, RecentChanges, ShowSmileys, StatsChart, SystemAdmin, TableOfContents, TeudView, WantedPages</dd><dt>Local extension macros</dt><dd>Cite, Div, DownloadSVN, Form, Improvement, IncludeSVN, Input, Span, TextArea, ViewCVS, ViewCVSDir, ViewSVN, ViewSVNDir</dd><dt>Global extension actions</dt><dd>AttachFile, DeletePage, LikePages, LocalSiteMap, RenamePage, SpellCheck, links, rss_rc, titleindex</dd><dt>Local extension actions</dt><dd>AllLinks</dd><dt>Installed processors</dt><dd>CSV, Colorize</dd></dl
+[GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-113)]</dd><dt>MoinMoin Version</dt><dd>Release 1.2.3 [Revision 1.186]</dd><dt>Number of pages</dt><dd>307</dd><dt>Number of system pages</dt><dd>2</dd><dt>Number of backup versions</dt><dd>1160</dd><dt>Accumulated page sizes</dt><dd>538893</dd><dt>Entries in edit log</dt><dd>1601 (155916 bytes)</dd><dt>Event log</dt><dd>28826643 bytes</dd><dt>Global extension macros</dt><dd>AbandonedPages, BR, FootNote, Form, FullSearch, GetText, Include, Navigation, OrphanedPages, PageHits, PageSize, RandomPage, RandomQuote, RecentChanges, ShowSmileys, StatsChart, SystemAdmin, TableOfContents, TeudView, WantedPages</dd><dt>Local extension macros</dt><dd>Cite, Div, DownloadSVN, Form, Improvement, IncludeSVN, Input, Span, TextArea, ViewCVS, ViewCVSDir, ViewSVN, ViewSVNDir</dd><dt>Global extension actions</dt><dd>AttachFile, DeletePage, LikePages, LocalSiteMap, RenamePage, SpellCheck, links, rss_rc, titleindex</dd><dt>Local extension actions</dt><dd>AllLinks</dd><dt>Installed processors</dt><dd>CSV, Colorize</dd></dl
</p>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TILT
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TILT 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TILT 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Talk
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Talk 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Talk 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkDiveIn
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkDiveIn 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkDiveIn 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -86,7 +86,7 @@
</tr>
<tr>
<td width="50%" align="left">
-<a class="nonexistent" href="ZZZPrev"> Prev</a></td>
+<a href="TalkMLtonHistory"> Prev</a></td>
<td width="50%" align="right">
</td>
</tr>
@@ -100,5 +100,5 @@
<p>
<hr>
-Last edited on 2004-12-01 18:35:50 by <span title="cfs38.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-11-14 23:13:23 by <span title="fox.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFolkLore
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFolkLore 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFolkLore 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFromSMLTo
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFromSMLTo 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkFromSMLTo 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowHigherOrder
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowHigherOrder 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowHigherOrder 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowModules
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowModules 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowModules 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowPolymorphism
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowPolymorphism 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkHowPolymorphism 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonApproach
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonApproach 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonApproach 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonFeatures
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonFeatures 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonFeatures 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonHistory
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonHistory 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkMLtonHistory 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkStandardML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkStandardML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkStandardML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkTemplate
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkTemplate 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkTemplate 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkWholeProgram
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkWholeProgram 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TalkWholeProgram 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ToMachine
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ToMachine 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ToMachine 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/backend.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/backend.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/backend.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/backend.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">backend.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Because the MLton runtime system is shared by all codegens, it is most convenient to decide on stack layout <em>before</em> any codegen takes over. In particular, we compute all the stack frame info for each <a href="RSSA">RSSA</a> function, including stack size, <a class="nonexistent" href="GarbageCollector">GarbageCollector</a> masks for each frame, etc. To do so, the <a href="Machine">Machine</a> <a href="IntermediateLanguage">IntermediateLanguage</a> imagines an abstract machine with an infinite number of (pseudo-)registers of every size. A liveness analysis determines, for each variable, whether or not it is live across a point where the runtime system might take over (for example, any garbage collection point) or a non-tail call to another <a href="RSSA">RSSA</a> function. Those that are live go on the stack, while those that aren't live go into psuedo-registers. From this information, we know all we need to about each stack frame. On the downside, nothing further on is allowed to change this stack info; it is set in stone.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ToRSSA
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ToRSSA 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ToRSSA 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/ssa-to-rssa.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-rssa.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/ssa-to-rssa.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-rssa.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/backend/ssa-to-rssa.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-rssa.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/backend/ssa-to-rssa.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-rssa.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ToSSA2
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ToSSA2 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ToSSA2 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -80,9 +80,9 @@
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa-to-ssa2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-ssa2.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa-to-ssa2.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-ssa2.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/ssa-to-ssa2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-ssa2.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/ssa-to-ssa2.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">ssa-to-ssa2.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
</div>
Copied: mlton/branches/on-20050822-x86_64-branch/doc/guide/TomMurphy (from rev 4247, mlton/trunk/doc/guide/TomMurphy)
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TrustedGroup
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TrustedGroup 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TrustedGroup 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeChecking
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeChecking 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeChecking 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -107,7 +107,7 @@
Here the brackets make it easy to see that the components do not match.
</p>
<p>
-MLton's type checker is fairly new. If you encounter a difference between MLton and another SML compiler, or even with an older version of MLton, and are not able to determine if it is a bug, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">MLton@mlton.org</a>. We would also appreciate feedback on any type error messages that you find confusing, or suggestions you may have for improvements to error messages.
+MLton's type checker is fairly new. If you encounter a difference between MLton and another SML compiler, or even with an older version of MLton, and are not able to determine if it is a bug, please send mail to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton@mlton.org</a>. We would also appreciate feedback on any type error messages that you find confusing, or suggestions you may have for improvements to error messages.
</p>
<h2 id="head-e849875c2946f3612529e7b5c9eeeb137490f29b">The shortest/most-recent rule for type names</h2>
<p>
@@ -199,5 +199,5 @@
<p>
<hr>
-Last edited on 2005-01-24 15:10:30 by <span title="cfs35.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:21:09 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeConstructor
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeConstructor 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeConstructor 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeVariableScope
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeVariableScope 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/TypeVariableScope 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Unicode
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Unicode 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Unicode 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -62,13 +62,53 @@
UTF-8 encoded source files.
</p>
</li>
-</ul>
+ </ul>
+
+
+<p>
+There is no real support for Unicode in the Definition of Standard ML; there are only a few throw-away sentences allong the lines of "ASCII must be a subset of the character set in programs".
+</p>
+<p>
+Neither is there real support for Unicode in the Standard ML Basis Library. The general consensus (which includes the opinions of the editors of the Basis Library) is that the <tt>WideChar</tt> structure is insufficient for the purposes of Unicode. There is no <tt>LargeChar</tt> structure, which in itself is a deficiency, since a programmer can not program against the largest supported character size.
+</p>
+<p>
+MLton has some preliminary support for 16 and 32 bit characters and strings. It is even possible to include arbitrary Unicode characters in 32-bit strings using a <tt>\Uxxxxxxxx</tt> escape sequence. (This longer escape sequence is a minor extension over the Definition which only allows <tt>\uxxxx</tt>.) This is by no means completely satisfactory in terms of support for Unicode, but it is what is currently available.
+</p>
+<p>
+There are periodic flurries of questions and discussion about Unicode in SML/MLton. The most recent, which did lead to some seemingly sound design decisions, was in December 2004.
+</p>
+<p>
+The discussion started at:
+</p>
+
+ <ul>
+
+ <a href="http://mlton.org/pipermail/mlton/2004-December/026396.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-December/026396.html</a>
+ </ul>
+
+
+<p>
+Stephen posted a good summary of points at:
+</p>
+
+ <ul>
+
+ <a href="http://mlton.org/pipermail/mlton/2004-December/026440.html"><img src="moin-www.png" alt="[WWW]" height="11" width="11">http://mlton.org/pipermail/mlton/2004-December/026440.html</a>
+ </ul>
+
+
+<p>
+and the discussion continued.
+</p>
+<p>
+The <a href="fxp">fxp</a> XML parser has some support for dealing with Unicode documents.
+</p>
</div>
<p>
<hr>
-Last edited on 2005-08-19 15:52:18 by <span title="cfs32.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-09 19:15:58 by <span title="adsl-64-166-227-25.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/UniversalType
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/UniversalType 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/UniversalType 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/UnresolvedBugs
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/UnresolvedBugs 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/UnresolvedBugs 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/UnsafeStructure
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/UnsafeStructure 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/UnsafeStructure 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Useless
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Useless 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Useless 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -90,9 +90,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/useless.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">useless.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/useless.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">useless.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/useless.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">useless.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/useless.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">useless.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
It is also trivial to convert a useful tuple to one of its useful components -- but this seems hard.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/UserGuide
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/UserGuide 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/UserGuide 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Users
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Users 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Users 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -135,7 +135,7 @@
</li>
<li>
<p>
- <a class="external" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tom7misc/net/mlftpd"><img src="moin-www.png" alt="[WWW]" height="11" width="11">mlftpd</a>, an ftp daemon written in SML. Tom Murphy is also working on <a class="external" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tom7misc/net/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">replacements for standard network services</a> in SML. He also uses MLton to build his entries (<a class="external" href="http://www.cs.cmu.edu/~tom7/icfp2001/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">2001</a>, <a class="external" href="http://www.cs.cmu.edu/~tom7/icfp2002/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">2002</a>, <a class="external" href="http://www.cs.cmu.edu/~tom7/icfp2004/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">2004</a>) in the annual ICFP programming contest.
+ <a class="external" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tom7misc/net/mlftpd"><img src="moin-www.png" alt="[WWW]" height="11" width="11">mlftpd</a>, an ftp daemon written in SML. <a href="TomMurphy">TomMurphy</a> is also working on <a class="external" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/tom7misc/net/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">replacements for standard network services</a> in SML. He also uses MLton to build his entries (<a class="external" href="http://www.cs.cmu.edu/~tom7/icfp2001/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">2001</a>, <a class="external" href="http://www.cs.cmu.edu/~tom7/icfp2002/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">2002</a>, <a class="external" href="http://www.cs.cmu.edu/~tom7/icfp2004/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">2004</a>, <a class="external" href="http://www.cs.cmu.edu/~tom7/icfp2005/"><img src="moin-www.png" alt="[WWW]" height="11" width="11">2005</a>) in the annual ICFP programming contest.
</p>
</li>
<li>
@@ -189,5 +189,5 @@
<p>
<hr>
-Last edited on 2005-03-12 10:39:14 by <span title="adsl-63-195-184-47.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
+Last edited on 2005-09-27 15:45:52 by <span title="adsl-64-170-115-30.dsl.snfc21.pacbell.net"><a href="StephenWeeks">StephenWeeks</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ValueRestriction
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ValueRestriction 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ValueRestriction 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Variant
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Variant 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Variant 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/VesaKarvonen
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/VesaKarvonen 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/VesaKarvonen 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/WantedPages
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/WantedPages 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/WantedPages 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -104,7 +104,7 @@
<li>
<a class="nonexistent" href="ZZZOtherPass">ZZZOtherPass</a>: <a href="CompilerPassTemplate">CompilerPassTemplate</a></li>
<li>
-<a class="nonexistent" href="ZZZPrev">ZZZPrev</a>: <a href="TalkDiveIn">TalkDiveIn</a>, <a href="TalkTemplate">TalkTemplate</a></li>
+<a class="nonexistent" href="ZZZPrev">ZZZPrev</a>: <a href="TalkTemplate">TalkTemplate</a></li>
<li>
<a class="nonexistent" href="ZZZSimplify">ZZZSimplify</a>: <a href="CompilerPassTemplate">CompilerPassTemplate</a></li>
</ol>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/WebSite
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/WebSite 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/WebSite 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/WesleyTerpstra
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/WesleyTerpstra 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/WesleyTerpstra 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/WholeProgramOptimization
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/WholeProgramOptimization 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/WholeProgramOptimization 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiMacros
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiMacros 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiMacros 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -62,9 +62,9 @@
<p>
<tt>[[DownloadSVN(pathToFile)]]</tt> displays a download link to the ViewCVS page for <tt>pathToFile</tt>. <br>
Examples:
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/trunk/Makefile"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Makefile</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051115-release/Makefile"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Makefile</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/trunk/mlton/main/main.fun"><img src="moin-www.png" alt="[WWW]" height="11" width="11">main.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/*checkout*/mlton/tags/on-20051115-release/mlton/main/main.fun"><img src="moin-www.png" alt="[WWW]" height="11" width="11">main.fun</a>
</p>
</li>
@@ -100,9 +100,9 @@
<p>
<tt>[[ViewSVN(pathToFile)]]</tt> displays a link to the ViewCVS page for <tt>pathToFile</tt>. <br>
Examples:
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/Makefile?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Makefile</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/Makefile?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">Makefile</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/main/main.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">main.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/main/main.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">main.fun</a>
</p>
</li>
@@ -110,7 +110,7 @@
<p>
<tt>[[ViewSVNSDir(pathToDir)]]</tt> displays a link to the ViewCVS page for <tt>pathToDir</tt>. <br>
Examples:
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/main"><img src="moin-www.png" alt="[WWW]" height="11" width="11">main</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/main"><img src="moin-www.png" alt="[WWW]" height="11" width="11">main</a>
</p>
</li>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiName
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiName 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiName 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiTool
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiTool 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/WikiTool 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -147,7 +147,7 @@
<tt>rename</tt> and <tt>remove</tt> shouldn't work for most people on <tt>mlton.org</tt> because of the way our <a href="AccessControl">AccessControl</a> is set up.
</p>
<p>
-This code is a two-day hack and is not widely used. But we've found it useful. Please send bug reports to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">MLton@mlton.org</a>.
+This code is a two-day hack and is not widely used. But we've found it useful. Please send bug reports to <a class="external" href="mailto:MLton@mlton.org"><img src="moin-email.png" alt="[MAILTO]" height="10" width="14">mailto:MLton@mlton.org</a>.
</p>
</div>
@@ -155,5 +155,5 @@
<p>
<hr>
-Last edited on 2005-01-24 15:11:41 by <span title="cfs35.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
+Last edited on 2005-09-06 23:21:21 by <span title="cfs34.cs.cornell.edu"><a href="MatthewFluet">MatthewFluet</a></span>.
</body></html>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/XML
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/XML 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/XML 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,20 +55,20 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/xml.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/xml.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/xml.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/xml.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml.fun</a>
<br>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/xml-tree.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-tree.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/xml-tree.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-tree.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/xml-tree.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-tree.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/xml-tree.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-tree.fun</a>
<h2 id="head-a6de4b535fedeaa8890bd890b60fe09f87b5f96a">Type Checking</h2>
<p>
XML also has a type checker, used for debugging. At present, the type checker is also the best specification of the type system of XML. If you need more details, the type checker (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/type-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/type-check.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.sig</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/type-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/type-check.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">type-check.fun</a>
), is pretty short.
</p>
<p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLShrink
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLShrink 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLShrink 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/shrink.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/shrink.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">shrink.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
The simplifier is based on <a href = "References#AppelJim97">Shrinking Lambda Expressions in Linear Time</a>.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplify
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplify 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplify 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -50,9 +50,9 @@
</table>
<div id="content" lang="en" dir="ltr">
The optimization passes for the <a href="XML">XML</a> <a href="IntermediateLanguage">IntermediateLanguage</a> are collected and controlled by the <tt>XmlSimplify</tt> functor (
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/xml-simplify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-simplify.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/xml-simplify.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-simplify.sig</a>
,
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/xml-simplify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-simplify.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/xml-simplify.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">xml-simplify.fun</a>
). <p>
The following optimization passes are implemented:
</p>
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplifyTypes
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplifyTypes 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/XMLSimplifyTypes 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -58,9 +58,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/simplify-types.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/simplify-types.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/xml/simplify-types.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/xml/simplify-types.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">simplify-types.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
It first computes a simple fixpoint on all the <tt>datatype</tt> declarations to determine which <tt>datatype</tt> <tt>tycon</tt> args are actually used. Then it does a single pass over the program to determine which polymorphic declaration type variables are used, and rewrites types to eliminate unused type arguments.
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/ZZZOrphanedPages
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/ZZZOrphanedPages 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/ZZZOrphanedPages 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/Zone
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/Zone 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/Zone 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
@@ -55,9 +55,9 @@
</p>
<h2 id="head-8781d615fd77be9578225c40ac67b9471394cced">Implementation</h2>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/zone.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">zone.sig</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/zone.sig?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">zone.sig</a>
-<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/trunk/mlton/ssa/zone.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">zone.fun</a>
+<a href = "http://mlton.org/cgi-bin/viewsvn.cgi/mlton/tags/on-20051115-release/mlton/ssa/zone.fun?view=markup"><img src="moin-www.png" alt="[WWW]" height="11" width="11">zone.fun</a>
<h2 id="head-35ec00231a68203708e39f0e2cc10b50c6bf62de">Details and Notes</h2>
<p>
Compute strongly-connected components to avoid put tuple constructions in loops.
Copied: mlton/branches/on-20050822-x86_64-branch/doc/guide/fxp (from rev 4247, mlton/trunk/doc/guide/fxp)
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/index.html
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/index.html 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/index.html 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Modified: mlton/branches/on-20050822-x86_64-branch/doc/guide/mGTK
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/guide/mGTK 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/doc/guide/mGTK 2005-11-22 03:02:45 UTC (rev 4248)
@@ -25,7 +25,7 @@
color: darkblue;
font-size: 150%;
text-align: left;">
- <a class = mltona href="Home">MLton 20050905</a>
+ <a class = mltona href="Home">MLton 20051115</a>
<td style = "
border: 0px;
font-size: 150%;
Copied: mlton/branches/on-20050822-x86_64-branch/doc/guide/moin-news.png (from rev 4247, mlton/trunk/doc/guide/moin-news.png)
Modified: mlton/branches/on-20050822-x86_64-branch/include/c-chunk.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/include/c-chunk.h 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/include/c-chunk.h 2005-11-22 03:02:45 UTC (rev 4248)
@@ -190,24 +190,6 @@
Return(); \
} while (0) \
-#if (defined __APPLE_CC__)
-
-#define DeclareProfileLabel(l) \
- void l()
-
-#define ProfileLabel(l) \
- __asm__ __volatile__ (".globl _" #l "\n_" #l ":" : : )
-
-#else
-
-#define DeclareProfileLabel(l) \
- void l() __attribute__ ((alias (#l "_internal")))
-
-#define ProfileLabel(l) \
- __asm__ __volatile__ (#l "_internal:" : : )
-
-#endif
-
/* ------------------------------------------------- */
/* Real */
/* ------------------------------------------------- */
Modified: mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/Makefile 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/Makefile 2005-11-22 03:02:45 UTC (rev 4248)
@@ -11,7 +11,6 @@
ckit/README.mlton: ckit.tgz ckit.patch
gzip -dc ckit.tgz | tar xf -
patch -p0 < ckit.patch
- chmod a-x ckit/src/ast/simplify-assign-ops.sml
.PHONY: clean
clean:
Modified: mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch 2005-11-22 03:02:45 UTC (rev 4248)
@@ -1,11 +1,11 @@
diff -Naur ckit/ckit-lib.mlb ckit-mlton/ckit-lib.mlb
--- ckit/ckit-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/ckit-lib.mlb 2005-08-18 12:21:04.000000000 -0400
++++ ckit-mlton/ckit-lib.mlb 2005-08-18 09:31:14.000000000 -0400
@@ -0,0 +1 @@
+src/ckit-lib.mlb
diff -Naur ckit/README.mlton ckit-mlton/README.mlton
--- ckit/README.mlton 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/README.mlton 2005-08-18 12:21:04.000000000 -0400
++++ ckit-mlton/README.mlton 2005-08-17 19:41:36.000000000 -0400
@@ -0,0 +1,13 @@
+The following changes were made to the ckit Library, in addition to
+deriving the {{{.mlb}}} file from the {{{.cm}}} files:
@@ -22,7 +22,7 @@
+ * {{{ast/build-ast.sml}}} (modified): Rewrote use of ''or-patterns''.
diff -Naur ckit/src/ast/ast-sig.sml ckit-mlton/src/ast/ast-sig.sml
--- ckit/src/ast/ast-sig.sml 2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/ast-sig.sml 2005-08-18 12:21:04.000000000 -0400
++++ ckit-mlton/src/ast/ast-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -67,7 +67,12 @@
datatype declaration
= TypeDecl of {shadow: {strct:bool} option, tid:tid}
@@ -99,7 +99,7 @@
location : SourceMap.location,
diff -Naur ckit/src/ast/build-ast.sml ckit-mlton/src/ast/build-ast.sml
--- ckit/src/ast/build-ast.sml 2003-08-28 17:58:39.000000000 -0400
-+++ ckit-mlton/src/ast/build-ast.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/build-ast.sml 2005-08-17 19:41:36.000000000 -0400
@@ -290,7 +290,8 @@
of SOME{ntype=NONE,...} => true
| _ => false
@@ -225,7 +225,7 @@
else if repeated_declarations_ok
diff -Naur ckit/src/ast/initializer-normalizer.sml ckit-mlton/src/ast/initializer-normalizer.sml
--- ckit/src/ast/initializer-normalizer.sml 2003-08-28 17:58:39.000000000 -0400
-+++ ckit-mlton/src/ast/initializer-normalizer.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/initializer-normalizer.sml 2005-08-17 19:41:36.000000000 -0400
@@ -156,7 +156,13 @@
feed (unionNorm (ctype, fields), inits)
| SOME _ => fail "Incomplete type for union ref"
@@ -243,7 +243,7 @@
| Ast.Ellipses => fail "Cannot initialize ellipses"
diff -Naur ckit/src/ast/pp/pp-ast-adornment-sig.sml ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml
--- ckit/src/ast/pp/pp-ast-adornment-sig.sml 2000-04-05 14:34:56.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -1,14 +1,14 @@
(* Copyright (c) 1998 by Lucent Technologies *)
@@ -264,7 +264,7 @@
+(* end *)
diff -Naur ckit/src/ast/pp/pp-ast-ext-sig.sml ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml
--- ckit/src/ast/pp/pp-ast-ext-sig.sml 2000-04-05 14:34:56.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -1,13 +1,13 @@
(* Copyright (c) 1998 by Lucent Technologies *)
@@ -289,7 +289,7 @@
+(* end *)
diff -Naur ckit/src/ast/pp/pp-lib.sml ckit-mlton/src/ast/pp/pp-lib.sml
--- ckit/src/ast/pp/pp-lib.sml 2000-04-05 14:34:57.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-lib.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-lib.sml 2005-08-17 19:41:36.000000000 -0400
@@ -115,7 +115,10 @@
fun ppId pps ({name,uid,kind,stClass,global,...}: Ast.id) =
@@ -304,7 +304,7 @@
| _ => ppSymbol pps (name,uid)
diff -Naur ckit/src/ast/sizeof.sml ckit-mlton/src/ast/sizeof.sml
--- ckit/src/ast/sizeof.sml 2000-04-05 14:34:55.000000000 -0400
-+++ ckit-mlton/src/ast/sizeof.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/sizeof.sml 2005-08-17 19:41:36.000000000 -0400
@@ -321,7 +321,9 @@
and process (sizesErrWarnBug as {sizes, err, warn, bug}) tidtab ty =
case ty
@@ -318,7 +318,7 @@
let val {bits,align} = #int sizes
diff -Naur ckit/src/ast/type-util-sig.sml ckit-mlton/src/ast/type-util-sig.sml
--- ckit/src/ast/type-util-sig.sml 2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/type-util-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/type-util-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -1,10 +1,10 @@
(* Copyright (c) 1998 by Lucent Technologies *)
@@ -340,7 +340,7 @@
+(* end (* local *) *)
diff -Naur ckit/src/ast/type-util.sml ckit-mlton/src/ast/type-util.sml
--- ckit/src/ast/type-util.sml 2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/type-util.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/type-util.sml 2005-08-17 19:41:36.000000000 -0400
@@ -282,7 +282,8 @@
fun isStructOrUnion tidtab ty =
case reduceTypedef tidtab ty
@@ -393,7 +393,7 @@
)
diff -Naur ckit/src/ckit-lib.mlb ckit-mlton/src/ckit-lib.mlb
--- ckit/src/ckit-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/ckit-lib.mlb 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ckit-lib.mlb 2005-11-21 11:29:39.000000000 -0500
@@ -0,0 +1,876 @@
+
+ann
@@ -1271,15046 +1271,120 @@
+end
+
+end
-diff -Naur ckit/src/parser/grammar/c.grm.desc ckit-mlton/src/parser/grammar/c.grm.desc
---- ckit/src/parser/grammar/c.grm.desc 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.desc 2005-08-18 12:23:58.000000000 -0400
-@@ -0,0 +1,10001 @@
-+1 shift/reduce conflict
-+
-+error: state 404: shift/reduce conflict (shift ELSE, reduce by rule 18)
-+
-+state 0:
-+
-+ translationUnit : . tu
-+
-+
-+ translationUnit goto 420
-+ tu goto 1
-+
-+ . reduce by rule 1
-+
-+
-+state 1:
-+
-+ translationUnit : tu . (reduce by rule 0)
-+ tu : tu . externalDeclaration
-+
-+ SEMICOLON shift 42
-+ LPAREN shift 41
-+ TIMES shift 40
-+ ID shift 39
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ pointer goto 18
-+ notypeDeclarator goto 17
-+ notypeDirectDeclarator goto 16
-+ declarationSpecifiers goto 15
-+ declarationModifiers goto 14
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ fDefDeclaration goto 7
-+ functionDefinition goto 6
-+ declaration goto 5
-+ declaration1 goto 4
-+ externalDeclaration goto 3
-+ structOrUnion goto 2
-+
-+ . reduce by rule 0
-+
-+
-+state 2:
-+
-+ structOrUnionSpecifier : structOrUnion . LCURLY structDeclarationList RCURLY
-+ structOrUnionSpecifier : structOrUnion . ID LCURLY structDeclarationList RCURLY
-+ structOrUnionSpecifier : structOrUnion . TYPE_NAME LCURLY structDeclarationList RCURLY
-+ structOrUnionSpecifier : structOrUnion . ID
-+ structOrUnionSpecifier : structOrUnion . TYPE_NAME
-+
-+ LCURLY shift 45
-+ ID shift 44
-+ TYPE_NAME shift 43
-+
-+
-+ . error
-+
-+
-+state 3:
-+
-+ tu : tu externalDeclaration . (reduce by rule 2)
-+
-+
-+
-+ . reduce by rule 2
-+
-+
-+state 4:
-+
-+ declaration : declaration1 . SEMICOLON
-+
-+ SEMICOLON shift 46
-+
-+
-+ . error
-+
-+
-+state 5:
-+
-+ externalDeclaration : declaration . (reduce by rule 3)
-+
-+
-+
-+ . reduce by rule 3
-+
-+
-+state 6:
-+
-+ externalDeclaration : functionDefinition . (reduce by rule 5)
-+
-+
-+
-+ . reduce by rule 5
-+
-+
-+state 7:
-+
-+ functionDefinition : fDefDeclaration . compoundStatement
-+ functionDefinition : fDefDeclaration . declarationList compoundStatement
-+
-+ LCURLY shift 52
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ compoundStatement goto 51
-+ declarationSpecifiers goto 50
-+ declarationModifiers goto 49
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ declarationList goto 48
-+ declaration goto 47
-+ declaration1 goto 4
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 8:
-+
-+ typeSpecifier : structOrUnionSpecifier . (reduce by rule 119)
-+
-+
-+
-+ . reduce by rule 119
-+
-+
-+state 9:
-+
-+ typeSpecifier : enumSpecifier . (reduce by rule 120)
-+
-+
-+
-+ . reduce by rule 120
-+
-+
-+state 10:
-+
-+ declarationModifiers : typeQualifier . (reduce by rule 110)
-+
-+
-+
-+ . reduce by rule 110
-+
-+
-+state 11:
-+
-+ typeSpecifier : typeSpecifierReserved . (reduce by rule 118)
-+
-+
-+
-+ . reduce by rule 118
-+
-+
-+state 12:
-+
-+ declarationSpecifiers : typeSpecifier . reservedDeclarationSpecifier
-+
-+
-+ reservedDeclarationSpecifier goto 53
-+
-+ . reduce by rule 101
-+
-+
-+state 13:
-+
-+ declarationModifiers : storageClassSpecifier . (reduce by rule 108)
-+
-+
-+
-+ . reduce by rule 108
-+
-+
-+state 14:
-+
-+ declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier
-+ declarationModifiers : declarationModifiers . storageClassSpecifier
-+ declarationModifiers : declarationModifiers . typeQualifier
-+ fDefDeclaration : declarationModifiers . notypeDeclarator
-+ declaration1 : declarationModifiers . notypeInitDeclaratorList
-+
-+ LPAREN shift 41
-+ TIMES shift 40
-+ ID shift 39
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ notypeInitDeclarator goto 59
-+ notypeInitDeclaratorList goto 58
-+ pointer goto 18
-+ notypeDeclarator goto 57
-+ notypeDirectDeclarator goto 16
-+ storageClassSpecifier goto 56
-+ typeSpecifier goto 55
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 54
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 15:
-+
-+ fDefDeclaration : declarationSpecifiers . declarator
-+ declaration1 : declarationSpecifiers . (reduce by rule 23)
-+ declaration1 : declarationSpecifiers . initDeclaratorList
-+
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ initDeclarator goto 66
-+ initDeclaratorList goto 65
-+ pointer goto 64
-+ declarator goto 63
-+ aftertypeDeclarator goto 62
-+ notypeDeclarator goto 61
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+
-+ . reduce by rule 23
-+
-+
-+state 16:
-+
-+ notypeDeclarator : notypeDirectDeclarator . (reduce by rule 182)
-+ notypeDirectDeclarator : notypeDirectDeclarator . LBRACE RBRACE
-+ notypeDirectDeclarator : notypeDirectDeclarator . LBRACE expr RBRACE
-+ notypeDirectDeclarator : notypeDirectDeclarator . LPAREN RPAREN
-+ notypeDirectDeclarator : notypeDirectDeclarator . LPAREN parameterTypeList RPAREN
-+ notypeDirectDeclarator : notypeDirectDeclarator . LPAREN identlist RPAREN
-+
-+ LPAREN shift 70
-+ LBRACE shift 69
-+
-+
-+ . reduce by rule 182
-+
-+
-+state 17:
-+
-+ fDefDeclaration : notypeDeclarator . (reduce by rule 218)
-+
-+
-+
-+ . reduce by rule 218
-+
-+
-+state 18:
-+
-+ notypeDeclarator : pointer . notypeDirectDeclarator
-+
-+ LPAREN shift 41
-+ ID shift 39
-+
-+ notypeDirectDeclarator goto 71
-+
-+ . error
-+
-+
-+state 19:
-+
-+ typeSpecifier : TYPE_NAME . (reduce by rule 121)
-+
-+
-+
-+ . reduce by rule 121
-+
-+
-+state 20:
-+
-+ storageClassSpecifier : TYPEDEF . (reduce by rule 167)
-+
-+
-+
-+ . reduce by rule 167
-+
-+
-+state 21:
-+
-+ typeSpecifierReserved : VOID . (reduce by rule 122)
-+
-+
-+
-+ . reduce by rule 122
-+
-+
-+state 22:
-+
-+ typeSpecifierReserved : SIGNED . (reduce by rule 129)
-+
-+
-+
-+ . reduce by rule 129
-+
-+
-+state 23:
-+
-+ typeSpecifierReserved : UNSIGNED . (reduce by rule 130)
-+
-+
-+
-+ . reduce by rule 130
-+
-+
-+state 24:
-+
-+ structOrUnion : UNION . (reduce by rule 137)
-+
-+
-+
-+ . reduce by rule 137
-+
-+
-+state 25:
-+
-+ structOrUnion : STRUCT . (reduce by rule 136)
-+
-+
-+
-+ . reduce by rule 136
-+
-+
-+state 26:
-+
-+ typeSpecifierReserved : SHORT . (reduce by rule 124)
-+
-+
-+
-+ . reduce by rule 124
-+
-+
-+state 27:
-+
-+ typeSpecifierReserved : LONG . (reduce by rule 126)
-+
-+
-+
-+ . reduce by rule 126
-+
-+
-+state 28:
-+
-+ typeSpecifierReserved : INT . (reduce by rule 125)
-+
-+
-+
-+ . reduce by rule 125
-+
-+
-+state 29:
-+
-+ typeSpecifierReserved : FLOAT . (reduce by rule 127)
-+
-+
-+
-+ . reduce by rule 127
-+
-+
-+state 30:
-+
-+ enumSpecifier : ENUM . LCURLY enumeratorList trailingComma RCURLY
-+ enumSpecifier : ENUM . ID LCURLY enumeratorList trailingComma RCURLY
-+ enumSpecifier : ENUM . TYPE_NAME LCURLY enumeratorList trailingComma RCURLY
-+ enumSpecifier : ENUM . ID
-+ enumSpecifier : ENUM . TYPE_NAME
-+
-+ LCURLY shift 74
-+ ID shift 73
-+ TYPE_NAME shift 72
-+
-+
-+ . error
-+
-+
-+state 31:
-+
-+ typeSpecifierReserved : DOUBLE . (reduce by rule 128)
-+
-+
-+
-+ . reduce by rule 128
-+
-+
-+state 32:
-+
-+ typeSpecifierReserved : CHAR . (reduce by rule 123)
-+
-+
-+
-+ . reduce by rule 123
-+
-+
-+state 33:
-+
-+ typeQualifier : VOLATILE . (reduce by rule 153)
-+
-+
-+
-+ . reduce by rule 153
-+
-+
-+state 34:
-+
-+ typeQualifier : CONST . (reduce by rule 152)
-+
-+
-+
-+ . reduce by rule 152
-+
-+
-+state 35:
-+
-+ storageClassSpecifier : REGISTER . (reduce by rule 166)
-+
-+
-+
-+ . reduce by rule 166
-+
-+
-+state 36:
-+
-+ storageClassSpecifier : STATIC . (reduce by rule 164)
-+
-+
-+
-+ . reduce by rule 164
-+
-+
-+state 37:
-+
-+ storageClassSpecifier : AUTO . (reduce by rule 165)
-+
-+
-+
-+ . reduce by rule 165
-+
-+
-+state 38:
-+
-+ storageClassSpecifier : EXTERN . (reduce by rule 163)
-+
-+
-+
-+ . reduce by rule 163
-+
-+
-+state 39:
-+
-+ notypeDirectDeclarator : ID . (reduce by rule 197)
-+
-+
-+
-+ . reduce by rule 197
-+
-+
-+state 40:
-+
-+ pointer : TIMES . (reduce by rule 186)
-+ pointer : TIMES . typeQualifierList
-+ pointer : TIMES . pointer
-+ pointer : TIMES . typeQualifierList pointer
-+
-+ TIMES shift 40
-+ CONST shift 34
-+ VOLATILE shift 33
-+
-+ pointer goto 77
-+ typeQualifier goto 76
-+ typeQualifierList goto 75
-+
-+ . reduce by rule 186
-+
-+
-+state 41:
-+
-+ notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN
-+
-+ LPAREN shift 41
-+ TIMES shift 40
-+ ID shift 39
-+
-+ pointer goto 18
-+ notypeDeclarator goto 78
-+ notypeDirectDeclarator goto 16
-+
-+ . error
-+
-+
-+state 42:
-+
-+ externalDeclaration : SEMICOLON . (reduce by rule 4)
-+
-+
-+
-+ . reduce by rule 4
-+
-+
-+state 43:
-+
-+ structOrUnionSpecifier : structOrUnion TYPE_NAME . LCURLY structDeclarationList RCURLY
-+ structOrUnionSpecifier : structOrUnion TYPE_NAME . (reduce by rule 135)
-+
-+ LCURLY shift 79
-+
-+
-+ . reduce by rule 135
-+
-+
-+state 44:
-+
-+ structOrUnionSpecifier : structOrUnion ID . LCURLY structDeclarationList RCURLY
-+ structOrUnionSpecifier : structOrUnion ID . (reduce by rule 134)
-+
-+ LCURLY shift 80
-+
-+
-+ . reduce by rule 134
-+
-+
-+state 45:
-+
-+ structOrUnionSpecifier : structOrUnion LCURLY . structDeclarationList RCURLY
-+
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 84
-+ specifierQualifierList goto 83
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ structDeclarationList goto 82
-+ structDeclaration goto 81
-+
-+ . error
-+
-+
-+state 46:
-+
-+ declaration : declaration1 SEMICOLON . (reduce by rule 22)
-+
-+
-+
-+ . reduce by rule 22
-+
-+
-+state 47:
-+
-+ declarationList : declaration . (reduce by rule 214)
-+
-+
-+
-+ . reduce by rule 214
-+
-+
-+state 48:
-+
-+ declarationList : declarationList . declaration
-+ functionDefinition : fDefDeclaration declarationList . compoundStatement
-+
-+ LCURLY shift 52
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ compoundStatement goto 87
-+ declarationSpecifiers goto 50
-+ declarationModifiers goto 49
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ declaration goto 86
-+ declaration1 goto 4
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 49:
-+
-+ declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier
-+ declarationModifiers : declarationModifiers . storageClassSpecifier
-+ declarationModifiers : declarationModifiers . typeQualifier
-+ declaration1 : declarationModifiers . notypeInitDeclaratorList
-+
-+ LPAREN shift 41
-+ TIMES shift 40
-+ ID shift 39
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ notypeInitDeclarator goto 59
-+ notypeInitDeclaratorList goto 58
-+ pointer goto 18
-+ notypeDeclarator goto 88
-+ notypeDirectDeclarator goto 16
-+ storageClassSpecifier goto 56
-+ typeSpecifier goto 55
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 54
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 50:
-+
-+ declaration1 : declarationSpecifiers . (reduce by rule 23)
-+ declaration1 : declarationSpecifiers . initDeclaratorList
-+
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ initDeclarator goto 66
-+ initDeclaratorList goto 65
-+ pointer goto 64
-+ declarator goto 89
-+ aftertypeDeclarator goto 62
-+ notypeDeclarator goto 61
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+
-+ . reduce by rule 23
-+
-+
-+state 51:
-+
-+ functionDefinition : fDefDeclaration compoundStatement . (reduce by rule 221)
-+
-+
-+
-+ . reduce by rule 221
-+
-+
-+state 52:
-+
-+ compoundStatement : LCURLY . pushScope declarationList ostatementlist popScope RCURLY
-+ compoundStatement : LCURLY . ostatementlist RCURLY
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ RCURLY reduce by rule 27
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ EXTERN reduce by rule 245
-+ AUTO reduce by rule 245
-+ STATIC reduce by rule 245
-+ REGISTER reduce by rule 245
-+ CONST reduce by rule 245
-+ VOLATILE reduce by rule 245
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ CHAR reduce by rule 245
-+ DOUBLE reduce by rule 245
-+ ENUM reduce by rule 245
-+ FLOAT reduce by rule 245
-+ INT reduce by rule 245
-+ LONG reduce by rule 245
-+ SHORT reduce by rule 245
-+ STRUCT reduce by rule 245
-+ UNION reduce by rule 245
-+ UNSIGNED reduce by rule 245
-+ SIGNED reduce by rule 245
-+ VOID reduce by rule 245
-+ SIZEOF shift 99
-+ TYPEDEF reduce by rule 245
-+ TYPE_NAME reduce by rule 245
-+
-+ statement goto 98
-+ ostatementlist goto 97
-+ statementlist goto 96
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ pushScope goto 91
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 53:
-+
-+ declarationSpecifiers : typeSpecifier reservedDeclarationSpecifier . (reduce by rule 99)
-+ reservedDeclarationSpecifier : reservedDeclarationSpecifier . specifierQualifierReserved
-+ reservedDeclarationSpecifier : reservedDeclarationSpecifier . storageClassSpecifier
-+
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+
-+ specifierQualifierReserved goto 131
-+ storageClassSpecifier goto 130
-+ typeSpecifierReserved goto 129
-+ typeQualifier goto 128
-+ enumSpecifier goto 127
-+ structOrUnionSpecifier goto 126
-+ structOrUnion goto 2
-+
-+ . reduce by rule 99
-+
-+
-+state 54:
-+
-+ declarationModifiers : declarationModifiers typeQualifier . (reduce by rule 111)
-+
-+
-+
-+ . reduce by rule 111
-+
-+
-+state 55:
-+
-+ declarationSpecifiers : declarationModifiers typeSpecifier . reservedDeclarationSpecifier
-+
-+
-+ reservedDeclarationSpecifier goto 132
-+
-+ . reduce by rule 101
-+
-+
-+state 56:
-+
-+ declarationModifiers : declarationModifiers storageClassSpecifier . (reduce by rule 109)
-+
-+
-+
-+ . reduce by rule 109
-+
-+
-+state 57:
-+
-+ notypeInitDeclarator : notypeDeclarator . (reduce by rule 176)
-+ notypeInitDeclarator : notypeDeclarator . EQUALS initializer
-+ fDefDeclaration : declarationModifiers notypeDeclarator . (reduce by rule 220)
-+
-+ SEMICOLON reduce by rule 176
-+ LCURLY reduce by rule 220
-+ COMMA reduce by rule 176
-+ EQUALS shift 133
-+ EXTERN reduce by rule 220
-+ AUTO reduce by rule 220
-+ STATIC reduce by rule 220
-+ REGISTER reduce by rule 220
-+ CONST reduce by rule 220
-+ VOLATILE reduce by rule 220
-+ CHAR reduce by rule 220
-+ DOUBLE reduce by rule 220
-+ ENUM reduce by rule 220
-+ FLOAT reduce by rule 220
-+ INT reduce by rule 220
-+ LONG reduce by rule 220
-+ SHORT reduce by rule 220
-+ STRUCT reduce by rule 220
-+ UNION reduce by rule 220
-+ UNSIGNED reduce by rule 220
-+ SIGNED reduce by rule 220
-+ VOID reduce by rule 220
-+ TYPEDEF reduce by rule 220
-+ TYPE_NAME reduce by rule 220
-+
-+
-+ . error
-+
-+
-+state 58:
-+
-+ notypeInitDeclaratorList : notypeInitDeclaratorList . COMMA initDeclarator
-+ declaration1 : declarationModifiers notypeInitDeclaratorList . (reduce by rule 25)
-+
-+ COMMA shift 134
-+
-+
-+ . reduce by rule 25
-+
-+
-+state 59:
-+
-+ notypeInitDeclaratorList : notypeInitDeclarator . (reduce by rule 174)
-+
-+
-+
-+ . reduce by rule 174
-+
-+
-+state 60:
-+
-+ aftertypeDeclarator : aftertypeDirectDeclarator . (reduce by rule 180)
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE RBRACE
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE expr RBRACE
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN RPAREN
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN parameterTypeList RPAREN
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN identlist RPAREN
-+
-+ LPAREN shift 136
-+ LBRACE shift 135
-+
-+
-+ . reduce by rule 180
-+
-+
-+state 61:
-+
-+ declarator : notypeDeclarator . (reduce by rule 179)
-+
-+
-+
-+ . reduce by rule 179
-+
-+
-+state 62:
-+
-+ declarator : aftertypeDeclarator . (reduce by rule 178)
-+
-+
-+
-+ . reduce by rule 178
-+
-+
-+state 63:
-+
-+ initDeclarator : declarator . (reduce by rule 172)
-+ initDeclarator : declarator . EQUALS initializer
-+ fDefDeclaration : declarationSpecifiers declarator . (reduce by rule 219)
-+
-+ SEMICOLON reduce by rule 172
-+ LCURLY reduce by rule 219
-+ COMMA reduce by rule 172
-+ EQUALS shift 137
-+ EXTERN reduce by rule 219
-+ AUTO reduce by rule 219
-+ STATIC reduce by rule 219
-+ REGISTER reduce by rule 219
-+ CONST reduce by rule 219
-+ VOLATILE reduce by rule 219
-+ CHAR reduce by rule 219
-+ DOUBLE reduce by rule 219
-+ ENUM reduce by rule 219
-+ FLOAT reduce by rule 219
-+ INT reduce by rule 219
-+ LONG reduce by rule 219
-+ SHORT reduce by rule 219
-+ STRUCT reduce by rule 219
-+ UNION reduce by rule 219
-+ UNSIGNED reduce by rule 219
-+ SIGNED reduce by rule 219
-+ VOID reduce by rule 219
-+ TYPEDEF reduce by rule 219
-+ TYPE_NAME reduce by rule 219
-+
-+
-+ . error
-+
-+
-+state 64:
-+
-+ aftertypeDeclarator : pointer . aftertypeDirectDeclarator
-+ notypeDeclarator : pointer . notypeDirectDeclarator
-+
-+ LPAREN shift 68
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ aftertypeDirectDeclarator goto 138
-+ notypeDirectDeclarator goto 71
-+
-+ . error
-+
-+
-+state 65:
-+
-+ initDeclaratorList : initDeclaratorList . COMMA initDeclarator
-+ declaration1 : declarationSpecifiers initDeclaratorList . (reduce by rule 24)
-+
-+ COMMA shift 139
-+
-+
-+ . reduce by rule 24
-+
-+
-+state 66:
-+
-+ initDeclaratorList : initDeclarator . (reduce by rule 170)
-+
-+
-+
-+ . reduce by rule 170
-+
-+
-+state 67:
-+
-+ aftertypeDirectDeclarator : TYPE_NAME . (reduce by rule 190)
-+
-+
-+
-+ . reduce by rule 190
-+
-+
-+state 68:
-+
-+ aftertypeDirectDeclarator : LPAREN . aftertypeDeclarator RPAREN
-+ notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN
-+
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ pointer goto 64
-+ aftertypeDeclarator goto 140
-+ notypeDeclarator goto 78
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+
-+ . error
-+
-+
-+state 69:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LBRACE . RBRACE
-+ notypeDirectDeclarator : notypeDirectDeclarator LBRACE . expr RBRACE
-+
-+ LPAREN shift 124
-+ RBRACE shift 143
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 141
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 70:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN . RPAREN
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN . parameterTypeList RPAREN
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN . identlist RPAREN
-+
-+ RPAREN shift 151
-+ ID shift 150
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ declarationSpecifiers goto 149
-+ declarationModifiers goto 148
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ identlist goto 147
-+ parameterList goto 146
-+ parameterTypeList goto 145
-+ parameterDeclaration goto 144
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 71:
-+
-+ notypeDeclarator : pointer notypeDirectDeclarator . (reduce by rule 183)
-+ notypeDirectDeclarator : notypeDirectDeclarator . LBRACE RBRACE
-+ notypeDirectDeclarator : notypeDirectDeclarator . LBRACE expr RBRACE
-+ notypeDirectDeclarator : notypeDirectDeclarator . LPAREN RPAREN
-+ notypeDirectDeclarator : notypeDirectDeclarator . LPAREN parameterTypeList RPAREN
-+ notypeDirectDeclarator : notypeDirectDeclarator . LPAREN identlist RPAREN
-+
-+ LPAREN shift 70
-+ LBRACE shift 69
-+
-+
-+ . reduce by rule 183
-+
-+
-+state 72:
-+
-+ enumSpecifier : ENUM TYPE_NAME . LCURLY enumeratorList trailingComma RCURLY
-+ enumSpecifier : ENUM TYPE_NAME . (reduce by rule 158)
-+
-+ LCURLY shift 152
-+
-+
-+ . reduce by rule 158
-+
-+
-+state 73:
-+
-+ enumSpecifier : ENUM ID . LCURLY enumeratorList trailingComma RCURLY
-+ enumSpecifier : ENUM ID . (reduce by rule 157)
-+
-+ LCURLY shift 153
-+
-+
-+ . reduce by rule 157
-+
-+
-+state 74:
-+
-+ enumSpecifier : ENUM LCURLY . enumeratorList trailingComma RCURLY
-+
-+ ID shift 156
-+
-+ enumeratorList goto 155
-+ enumerator goto 154
-+
-+ . error
-+
-+
-+state 75:
-+
-+ pointer : TIMES typeQualifierList . (reduce by rule 187)
-+ pointer : TIMES typeQualifierList . pointer
-+
-+ TIMES shift 40
-+
-+ pointer goto 157
-+
-+ . reduce by rule 187
-+
-+
-+state 76:
-+
-+ typeQualifierList : typeQualifier . (reduce by rule 116)
-+ typeQualifierList : typeQualifier . typeQualifierList
-+
-+ CONST shift 34
-+ VOLATILE shift 33
-+
-+ typeQualifier goto 76
-+ typeQualifierList goto 158
-+
-+ . reduce by rule 116
-+
-+
-+state 77:
-+
-+ pointer : TIMES pointer . (reduce by rule 188)
-+
-+
-+
-+ . reduce by rule 188
-+
-+
-+state 78:
-+
-+ notypeDirectDeclarator : LPAREN notypeDeclarator . RPAREN
-+
-+ RPAREN shift 159
-+
-+
-+ . error
-+
-+
-+state 79:
-+
-+ structOrUnionSpecifier : structOrUnion TYPE_NAME LCURLY . structDeclarationList RCURLY
-+
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 84
-+ specifierQualifierList goto 83
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ structDeclarationList goto 160
-+ structDeclaration goto 81
-+
-+ . error
-+
-+
-+state 80:
-+
-+ structOrUnionSpecifier : structOrUnion ID LCURLY . structDeclarationList RCURLY
-+
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 84
-+ specifierQualifierList goto 83
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ structDeclarationList goto 161
-+ structDeclaration goto 81
-+
-+ . error
-+
-+
-+state 81:
-+
-+ structDeclarationList : structDeclaration . (reduce by rule 138)
-+
-+
-+
-+ . reduce by rule 138
-+
-+
-+state 82:
-+
-+ structOrUnionSpecifier : structOrUnion LCURLY structDeclarationList . RCURLY
-+ structDeclarationList : structDeclarationList . structDeclaration
-+
-+ RCURLY shift 163
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 84
-+ specifierQualifierList goto 83
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ structDeclaration goto 162
-+
-+ . error
-+
-+
-+state 83:
-+
-+ structDeclaration : specifierQualifierList . structDeclaratorList SEMICOLON
-+
-+ COLON shift 167
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ pointer goto 64
-+ declarator goto 166
-+ aftertypeDeclarator goto 62
-+ notypeDeclarator goto 61
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+ structDeclarator goto 165
-+ structDeclaratorList goto 164
-+
-+ . error
-+
-+
-+state 84:
-+
-+ specifierQualifierList : typeQualifierList . typeSpecifier reservedSpecifierQualifiers
-+ structDeclaration : typeQualifierList . notypeStructDeclaratorList SEMICOLON
-+
-+ COLON shift 172
-+ LPAREN shift 41
-+ TIMES shift 40
-+ ID shift 39
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ pointer goto 18
-+ notypeDeclarator goto 171
-+ notypeDirectDeclarator goto 16
-+ typeSpecifier goto 170
-+ typeSpecifierReserved goto 11
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ notypeStructDeclarator goto 169
-+ notypeStructDeclaratorList goto 168
-+
-+ . error
-+
-+
-+state 85:
-+
-+ specifierQualifierList : typeSpecifier . reservedSpecifierQualifiers
-+
-+
-+ reservedSpecifierQualifiers goto 173
-+
-+ . reduce by rule 114
-+
-+
-+state 86:
-+
-+ declarationList : declarationList declaration . (reduce by rule 215)
-+
-+
-+
-+ . reduce by rule 215
-+
-+
-+state 87:
-+
-+ functionDefinition : fDefDeclaration declarationList compoundStatement . (reduce by rule 222)
-+
-+
-+
-+ . reduce by rule 222
-+
-+
-+state 88:
-+
-+ notypeInitDeclarator : notypeDeclarator . (reduce by rule 176)
-+ notypeInitDeclarator : notypeDeclarator . EQUALS initializer
-+
-+ EQUALS shift 133
-+
-+
-+ . reduce by rule 176
-+
-+
-+state 89:
-+
-+ initDeclarator : declarator . (reduce by rule 172)
-+ initDeclarator : declarator . EQUALS initializer
-+
-+ EQUALS shift 137
-+
-+
-+ . reduce by rule 172
-+
-+
-+state 90:
-+
-+ expr : strings . (reduce by rule 88)
-+
-+
-+
-+ . reduce by rule 88
-+
-+
-+state 91:
-+
-+ compoundStatement : LCURLY pushScope . declarationList ostatementlist popScope RCURLY
-+
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ declarationSpecifiers goto 50
-+ declarationModifiers goto 49
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ declarationList goto 174
-+ declaration goto 47
-+ declaration1 goto 4
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 92:
-+
-+ expr : unaryOperator . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 175
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 93:
-+
-+ statement : exprWComma . SEMICOLON
-+ exprWComma : exprWComma . COMMA expr
-+
-+ SEMICOLON shift 177
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 94:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ exprWComma : expr . (reduce by rule 91)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 91
-+
-+
-+state 95:
-+
-+ statement : compoundStatement . (reduce by rule 14)
-+
-+
-+
-+ . reduce by rule 14
-+
-+
-+state 96:
-+
-+ ostatementlist : statementlist . (reduce by rule 26)
-+ statementlist : statementlist . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 214
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . reduce by rule 26
-+
-+
-+state 97:
-+
-+ compoundStatement : LCURLY ostatementlist . RCURLY
-+
-+ RCURLY shift 215
-+
-+
-+ . error
-+
-+
-+state 98:
-+
-+ statementlist : statement . (reduce by rule 28)
-+
-+
-+
-+ . reduce by rule 28
-+
-+
-+state 99:
-+
-+ expr : SIZEOF . expr
-+ expr : SIZEOF . LPAREN typeName RPAREN
-+
-+ LPAREN shift 217
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 216
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 100:
-+
-+ statement : GOTO . ID SEMICOLON
-+
-+ ID shift 218
-+
-+
-+ . error
-+
-+
-+state 101:
-+
-+ statement : CONTINUE . SEMICOLON
-+
-+ SEMICOLON shift 219
-+
-+
-+ . error
-+
-+
-+state 102:
-+
-+ statement : BREAK . SEMICOLON
-+
-+ SEMICOLON shift 220
-+
-+
-+ . error
-+
-+
-+state 103:
-+
-+ statement : RETURN . opExpr SEMICOLON
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ opExpr goto 222
-+ exprWComma goto 221
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . reduce by rule 93
-+
-+
-+state 104:
-+
-+ statement : WHILE . LPAREN exprWComma RPAREN statement
-+
-+ LPAREN shift 223
-+
-+
-+ . error
-+
-+
-+state 105:
-+
-+ statement : DEFAULT . COLON statement
-+
-+ COLON shift 224
-+
-+
-+ . error
-+
-+
-+state 106:
-+
-+ statement : CASE . exprWComma COLON statement
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ exprWComma goto 225
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 107:
-+
-+ statement : SWITCH . LPAREN exprWComma RPAREN statement
-+
-+ LPAREN shift 226
-+
-+
-+ . error
-+
-+
-+state 108:
-+
-+ statement : DO . statement WHILE LPAREN exprWComma RPAREN SEMICOLON
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 227
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 109:
-+
-+ statement : FOR . LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN statement
-+
-+ LPAREN shift 228
-+
-+
-+ . error
-+
-+
-+state 110:
-+
-+ statement : IF . LPAREN exprWComma RPAREN statement
-+ statement : IF . LPAREN exprWComma RPAREN statement ELSE statement
-+
-+ LPAREN shift 229
-+
-+
-+ . error
-+
-+
-+state 111:
-+
-+ expr : CCONST . (reduce by rule 86)
-+
-+
-+
-+ . reduce by rule 86
-+
-+
-+state 112:
-+
-+ strings : STRING . (reduce by rule 89)
-+ strings : STRING . strings
-+
-+ STRING shift 112
-+
-+ strings goto 230
-+
-+ . reduce by rule 89
-+
-+
-+state 113:
-+
-+ expr : REALNUM . (reduce by rule 85)
-+
-+
-+
-+ . reduce by rule 85
-+
-+
-+state 114:
-+
-+ expr : DECNUM . (reduce by rule 84)
-+
-+
-+
-+ . reduce by rule 84
-+
-+
-+state 115:
-+
-+ statement : ID . COLON statement
-+ expr : ID . (reduce by rule 87)
-+
-+ COLON shift 231
-+
-+
-+ . reduce by rule 87
-+
-+
-+state 116:
-+
-+ expr : DEC . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 232
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 117:
-+
-+ expr : INC . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 233
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 118:
-+
-+ unaryOperator : TIMES . (reduce by rule 33)
-+
-+
-+
-+ . reduce by rule 33
-+
-+
-+state 119:
-+
-+ unaryOperator : BANG . (reduce by rule 37)
-+
-+
-+
-+ . reduce by rule 37
-+
-+
-+state 120:
-+
-+ unaryOperator : MINUS . (reduce by rule 35)
-+
-+
-+
-+ . reduce by rule 35
-+
-+
-+state 121:
-+
-+ unaryOperator : PLUS . (reduce by rule 34)
-+
-+
-+
-+ . reduce by rule 34
-+
-+
-+state 122:
-+
-+ unaryOperator : TILDE . (reduce by rule 36)
-+
-+
-+
-+ . reduce by rule 36
-+
-+
-+state 123:
-+
-+ unaryOperator : AMP . (reduce by rule 32)
-+
-+
-+
-+ . reduce by rule 32
-+
-+
-+state 124:
-+
-+ expr : LPAREN . typeName RPAREN expr
-+ expr : LPAREN . exprWComma RPAREN
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ SIZEOF shift 99
-+ TYPE_NAME shift 19
-+
-+ expr goto 94
-+ exprWComma goto 237
-+ unaryOperator goto 92
-+ typeName goto 236
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 235
-+ specifierQualifierList goto 234
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 125:
-+
-+ statement : SEMICOLON . (reduce by rule 21)
-+
-+
-+
-+ . reduce by rule 21
-+
-+
-+state 126:
-+
-+ specifierQualifierReserved : structOrUnionSpecifier . (reduce by rule 106)
-+
-+
-+
-+ . reduce by rule 106
-+
-+
-+state 127:
-+
-+ specifierQualifierReserved : enumSpecifier . (reduce by rule 107)
-+
-+
-+
-+ . reduce by rule 107
-+
-+
-+state 128:
-+
-+ specifierQualifierReserved : typeQualifier . (reduce by rule 105)
-+
-+
-+
-+ . reduce by rule 105
-+
-+
-+state 129:
-+
-+ specifierQualifierReserved : typeSpecifierReserved . (reduce by rule 104)
-+
-+
-+
-+ . reduce by rule 104
-+
-+
-+state 130:
-+
-+ reservedDeclarationSpecifier : reservedDeclarationSpecifier storageClassSpecifier . (reduce by rule 103)
-+
-+
-+
-+ . reduce by rule 103
-+
-+
-+state 131:
-+
-+ reservedDeclarationSpecifier : reservedDeclarationSpecifier specifierQualifierReserved . (reduce by rule 102)
-+
-+
-+
-+ . reduce by rule 102
-+
-+
-+state 132:
-+
-+ declarationSpecifiers : declarationModifiers typeSpecifier reservedDeclarationSpecifier . (reduce by rule 100)
-+ reservedDeclarationSpecifier : reservedDeclarationSpecifier . specifierQualifierReserved
-+ reservedDeclarationSpecifier : reservedDeclarationSpecifier . storageClassSpecifier
-+
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+
-+ specifierQualifierReserved goto 131
-+ storageClassSpecifier goto 130
-+ typeSpecifierReserved goto 129
-+ typeQualifier goto 128
-+ enumSpecifier goto 127
-+ structOrUnionSpecifier goto 126
-+ structOrUnion goto 2
-+
-+ . reduce by rule 100
-+
-+
-+state 133:
-+
-+ notypeInitDeclarator : notypeDeclarator EQUALS . initializer
-+
-+ LPAREN shift 124
-+ LCURLY shift 240
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 239
-+ unaryOperator goto 92
-+ initializer goto 238
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 134:
-+
-+ notypeInitDeclaratorList : notypeInitDeclaratorList COMMA . initDeclarator
-+
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ initDeclarator goto 241
-+ pointer goto 64
-+ declarator goto 89
-+ aftertypeDeclarator goto 62
-+ notypeDeclarator goto 61
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+
-+ . error
-+
-+
-+state 135:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE . RBRACE
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE . expr RBRACE
-+
-+ LPAREN shift 124
-+ RBRACE shift 243
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 242
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 136:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN . RPAREN
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN . parameterTypeList RPAREN
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN . identlist RPAREN
-+
-+ RPAREN shift 246
-+ ID shift 150
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ declarationSpecifiers goto 149
-+ declarationModifiers goto 148
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ identlist goto 245
-+ parameterList goto 146
-+ parameterTypeList goto 244
-+ parameterDeclaration goto 144
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 137:
-+
-+ initDeclarator : declarator EQUALS . initializer
-+
-+ LPAREN shift 124
-+ LCURLY shift 240
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 239
-+ unaryOperator goto 92
-+ initializer goto 247
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 138:
-+
-+ aftertypeDeclarator : pointer aftertypeDirectDeclarator . (reduce by rule 181)
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE RBRACE
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE expr RBRACE
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN RPAREN
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN parameterTypeList RPAREN
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN identlist RPAREN
-+
-+ LPAREN shift 136
-+ LBRACE shift 135
-+
-+
-+ . reduce by rule 181
-+
-+
-+state 139:
-+
-+ initDeclaratorList : initDeclaratorList COMMA . initDeclarator
-+
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ initDeclarator goto 248
-+ pointer goto 64
-+ declarator goto 89
-+ aftertypeDeclarator goto 62
-+ notypeDeclarator goto 61
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+
-+ . error
-+
-+
-+state 140:
-+
-+ aftertypeDirectDeclarator : LPAREN aftertypeDeclarator . RPAREN
-+
-+ RPAREN shift 249
-+
-+
-+ . error
-+
-+
-+state 141:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ notypeDirectDeclarator : notypeDirectDeclarator LBRACE expr . RBRACE
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ RBRACE shift 250
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . error
-+
-+
-+state 142:
-+
-+ expr : ID . (reduce by rule 87)
-+
-+
-+
-+ . reduce by rule 87
-+
-+
-+state 143:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LBRACE RBRACE . (reduce by rule 199)
-+
-+
-+
-+ . reduce by rule 199
-+
-+
-+state 144:
-+
-+ parameterList : parameterDeclaration . (reduce by rule 237)
-+
-+
-+
-+ . reduce by rule 237
-+
-+
-+state 145:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN parameterTypeList . RPAREN
-+
-+ RPAREN shift 251
-+
-+
-+ . error
-+
-+
-+state 146:
-+
-+ parameterList : parameterList . COMMA parameterDeclaration
-+ parameterTypeList : parameterList . (reduce by rule 235)
-+ parameterTypeList : parameterList . COMMA ELIPSIS
-+
-+ COMMA shift 252
-+
-+
-+ . reduce by rule 235
-+
-+
-+state 147:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN identlist . RPAREN
-+ identlist : identlist . COMMA ID
-+
-+ RPAREN shift 254
-+ COMMA shift 253
-+
-+
-+ . error
-+
-+
-+state 148:
-+
-+ declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier
-+ declarationModifiers : declarationModifiers . storageClassSpecifier
-+ declarationModifiers : declarationModifiers . typeQualifier
-+ parameterDeclaration : declarationModifiers . notypeDeclarator
-+ parameterDeclaration : declarationModifiers . abstractDeclarator
-+
-+ LPAREN shift 260
-+ LBRACE shift 259
-+ TIMES shift 40
-+ ID shift 39
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ abstractDeclarator goto 258
-+ directAbstractDeclarator goto 257
-+ pointer goto 256
-+ notypeDeclarator goto 255
-+ notypeDirectDeclarator goto 16
-+ storageClassSpecifier goto 56
-+ typeSpecifier goto 55
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 54
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 149:
-+
-+ parameterDeclaration : declarationSpecifiers . notypeDeclarator
-+ parameterDeclaration : declarationSpecifiers . parmDeclarator
-+ parameterDeclaration : declarationSpecifiers . (reduce by rule 241)
-+ parameterDeclaration : declarationSpecifiers . abstractDeclarator
-+
-+ LPAREN shift 260
-+ LBRACE shift 259
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 266
-+
-+ abstractDeclarator goto 265
-+ directAbstractDeclarator goto 257
-+ pointer goto 264
-+ notypeDeclarator goto 263
-+ parmDeclarator goto 262
-+ notypeDirectDeclarator goto 16
-+ parmDirectDeclarator goto 261
-+
-+ . reduce by rule 241
-+
-+
-+state 150:
-+
-+ identlist : ID . (reduce by rule 216)
-+
-+
-+
-+ . reduce by rule 216
-+
-+
-+state 151:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN RPAREN . (reduce by rule 201)
-+
-+
-+
-+ . reduce by rule 201
-+
-+
-+state 152:
-+
-+ enumSpecifier : ENUM TYPE_NAME LCURLY . enumeratorList trailingComma RCURLY
-+
-+ ID shift 156
-+
-+ enumeratorList goto 267
-+ enumerator goto 154
-+
-+ . error
-+
-+
-+state 153:
-+
-+ enumSpecifier : ENUM ID LCURLY . enumeratorList trailingComma RCURLY
-+
-+ ID shift 156
-+
-+ enumeratorList goto 268
-+ enumerator goto 154
-+
-+ . error
-+
-+
-+state 154:
-+
-+ enumeratorList : enumerator . (reduce by rule 160)
-+
-+
-+
-+ . reduce by rule 160
-+
-+
-+state 155:
-+
-+ enumeratorList : enumeratorList . COMMA enumerator
-+ enumSpecifier : ENUM LCURLY enumeratorList . trailingComma RCURLY
-+
-+ COMMA shift 270
-+
-+ trailingComma goto 269
-+
-+ . reduce by rule 168
-+
-+
-+state 156:
-+
-+ enumerator : ID . (reduce by rule 161)
-+ enumerator : ID . EQUALS expr
-+
-+ EQUALS shift 271
-+
-+
-+ . reduce by rule 161
-+
-+
-+state 157:
-+
-+ pointer : TIMES typeQualifierList pointer . (reduce by rule 189)
-+
-+
-+
-+ . reduce by rule 189
-+
-+
-+state 158:
-+
-+ typeQualifierList : typeQualifier typeQualifierList . (reduce by rule 117)
-+
-+
-+
-+ . reduce by rule 117
-+
-+
-+state 159:
-+
-+ notypeDirectDeclarator : LPAREN notypeDeclarator RPAREN . (reduce by rule 198)
-+
-+
-+
-+ . reduce by rule 198
-+
-+
-+state 160:
-+
-+ structOrUnionSpecifier : structOrUnion TYPE_NAME LCURLY structDeclarationList . RCURLY
-+ structDeclarationList : structDeclarationList . structDeclaration
-+
-+ RCURLY shift 272
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 84
-+ specifierQualifierList goto 83
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ structDeclaration goto 162
-+
-+ . error
-+
-+
-+state 161:
-+
-+ structOrUnionSpecifier : structOrUnion ID LCURLY structDeclarationList . RCURLY
-+ structDeclarationList : structDeclarationList . structDeclaration
-+
-+ RCURLY shift 273
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 84
-+ specifierQualifierList goto 83
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ structDeclaration goto 162
-+
-+ . error
-+
-+
-+state 162:
-+
-+ structDeclarationList : structDeclarationList structDeclaration . (reduce by rule 139)
-+
-+
-+
-+ . reduce by rule 139
-+
-+
-+state 163:
-+
-+ structOrUnionSpecifier : structOrUnion LCURLY structDeclarationList RCURLY . (reduce by rule 131)
-+
-+
-+
-+ . reduce by rule 131
-+
-+
-+state 164:
-+
-+ structDeclaratorList : structDeclaratorList . COMMA structDeclarator
-+ structDeclaration : specifierQualifierList structDeclaratorList . SEMICOLON
-+
-+ SEMICOLON shift 275
-+ COMMA shift 274
-+
-+
-+ . error
-+
-+
-+state 165:
-+
-+ structDeclaratorList : structDeclarator . (reduce by rule 142)
-+
-+
-+
-+ . reduce by rule 142
-+
-+
-+state 166:
-+
-+ structDeclarator : declarator . (reduce by rule 146)
-+ structDeclarator : declarator . COLON expr
-+
-+ COLON shift 276
-+
-+
-+ . reduce by rule 146
-+
-+
-+state 167:
-+
-+ structDeclarator : COLON . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 277
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 168:
-+
-+ notypeStructDeclaratorList : notypeStructDeclaratorList . COMMA structDeclarator
-+ structDeclaration : typeQualifierList notypeStructDeclaratorList . SEMICOLON
-+
-+ SEMICOLON shift 279
-+ COMMA shift 278
-+
-+
-+ . error
-+
-+
-+state 169:
-+
-+ notypeStructDeclaratorList : notypeStructDeclarator . (reduce by rule 144)
-+
-+
-+
-+ . reduce by rule 144
-+
-+
-+state 170:
-+
-+ specifierQualifierList : typeQualifierList typeSpecifier . reservedSpecifierQualifiers
-+
-+
-+ reservedSpecifierQualifiers goto 280
-+
-+ . reduce by rule 114
-+
-+
-+state 171:
-+
-+ notypeStructDeclarator : notypeDeclarator . (reduce by rule 149)
-+ notypeStructDeclarator : notypeDeclarator . COLON expr
-+
-+ COLON shift 281
-+
-+
-+ . reduce by rule 149
-+
-+
-+state 172:
-+
-+ notypeStructDeclarator : COLON . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 282
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 173:
-+
-+ reservedSpecifierQualifiers : reservedSpecifierQualifiers . specifierQualifierReserved
-+ specifierQualifierList : typeSpecifier reservedSpecifierQualifiers . (reduce by rule 112)
-+
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+
-+ specifierQualifierReserved goto 283
-+ typeSpecifierReserved goto 129
-+ typeQualifier goto 128
-+ enumSpecifier goto 127
-+ structOrUnionSpecifier goto 126
-+ structOrUnion goto 2
-+
-+ . reduce by rule 112
-+
-+
-+state 174:
-+
-+ compoundStatement : LCURLY pushScope declarationList . ostatementlist popScope RCURLY
-+ declarationList : declarationList . declaration
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ SIZEOF shift 99
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ statement goto 98
-+ ostatementlist goto 284
-+ statementlist goto 96
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ declarationSpecifiers goto 50
-+ declarationModifiers goto 49
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ declaration goto 86
-+ declaration1 goto 4
-+ structOrUnion goto 2
-+ strings goto 90
-+
-+ . reduce by rule 27
-+
-+
-+state 175:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : unaryOperator expr . (reduce by rule 72)
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 72
-+
-+
-+state 176:
-+
-+ exprWComma : exprWComma COMMA . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 285
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 177:
-+
-+ statement : exprWComma SEMICOLON . (reduce by rule 20)
-+
-+
-+
-+ . reduce by rule 20
-+
-+
-+state 178:
-+
-+ expr : expr RSHIFT . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 286
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 179:
-+
-+ expr : expr LSHIFT . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 287
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 180:
-+
-+ expr : expr AND . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 288
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 181:
-+
-+ expr : expr OR . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 289
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 182:
-+
-+ expr : expr NEQ . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 290
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 183:
-+
-+ expr : expr EQ . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 291
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 184:
-+
-+ expr : expr GT . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 292
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 185:
-+
-+ expr : expr LT . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 293
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 186:
-+
-+ expr : expr GTE . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 294
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 187:
-+
-+ expr : expr LTE . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 295
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 188:
-+
-+ expr : expr RSHIFTEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 296
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 189:
-+
-+ expr : expr LSHIFTEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 297
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 190:
-+
-+ expr : expr ANDEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 298
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 191:
-+
-+ expr : expr OREQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 299
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 192:
-+
-+ expr : expr DIVEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 300
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 193:
-+
-+ expr : expr TIMESEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 301
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 194:
-+
-+ expr : expr MODEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 302
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 195:
-+
-+ expr : expr XOREQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 303
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 196:
-+
-+ expr : expr MINUSEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 304
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 197:
-+
-+ expr : expr PLUSEQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 305
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 198:
-+
-+ expr : expr EQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 306
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 199:
-+
-+ expr : expr ARROW . ID
-+ expr : expr ARROW . TYPE_NAME
-+
-+ ID shift 308
-+ TYPE_NAME shift 307
-+
-+
-+ . error
-+
-+
-+state 200:
-+
-+ expr : expr DEC . (reduce by rule 69)
-+
-+
-+
-+ . reduce by rule 69
-+
-+
-+state 201:
-+
-+ expr : expr INC . (reduce by rule 68)
-+
-+
-+
-+ . reduce by rule 68
-+
-+
-+state 202:
-+
-+ expr : expr TIMES . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 309
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 203:
-+
-+ expr : expr HAT . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 310
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 204:
-+
-+ expr : expr MINUS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 311
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 205:
-+
-+ expr : expr PLUS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 312
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 206:
-+
-+ expr : expr DIVIDE . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 313
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 207:
-+
-+ expr : expr BAR . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 314
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 208:
-+
-+ expr : expr AMP . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 315
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 209:
-+
-+ expr : expr PERCENT . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 316
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 210:
-+
-+ expr : expr QUESTION . exprWComma COLON expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ exprWComma goto 317
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 211:
-+
-+ expr : expr DOT . ID
-+ expr : expr DOT . TYPE_NAME
-+
-+ ID shift 319
-+ TYPE_NAME shift 318
-+
-+
-+ . error
-+
-+
-+state 212:
-+
-+ expr : expr LBRACE . exprWComma RBRACE
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ exprWComma goto 320
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 213:
-+
-+ expr : expr LPAREN . RPAREN
-+ expr : expr LPAREN . argumentExprList RPAREN
-+
-+ LPAREN shift 124
-+ RPAREN shift 323
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 322
-+ unaryOperator goto 92
-+ argumentExprList goto 321
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 214:
-+
-+ statementlist : statementlist statement . (reduce by rule 29)
-+
-+
-+
-+ . reduce by rule 29
-+
-+
-+state 215:
-+
-+ compoundStatement : LCURLY ostatementlist RCURLY . (reduce by rule 31)
-+
-+
-+
-+ . reduce by rule 31
-+
-+
-+state 216:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : SIZEOF expr . (reduce by rule 73)
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 73
-+
-+
-+state 217:
-+
-+ expr : LPAREN . typeName RPAREN expr
-+ expr : SIZEOF LPAREN . typeName RPAREN
-+ expr : LPAREN . exprWComma RPAREN
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ SIZEOF shift 99
-+ TYPE_NAME shift 19
-+
-+ expr goto 94
-+ exprWComma goto 237
-+ unaryOperator goto 92
-+ typeName goto 324
-+ typeSpecifier goto 85
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 76
-+ typeQualifierList goto 235
-+ specifierQualifierList goto 234
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 218:
-+
-+ statement : GOTO ID . SEMICOLON
-+
-+ SEMICOLON shift 325
-+
-+
-+ . error
-+
-+
-+state 219:
-+
-+ statement : CONTINUE SEMICOLON . (reduce by rule 11)
-+
-+
-+
-+ . reduce by rule 11
-+
-+
-+state 220:
-+
-+ statement : BREAK SEMICOLON . (reduce by rule 10)
-+
-+
-+
-+ . reduce by rule 10
-+
-+
-+state 221:
-+
-+ opExpr : exprWComma . (reduce by rule 94)
-+ exprWComma : exprWComma . COMMA expr
-+
-+ COMMA shift 176
-+
-+
-+ . reduce by rule 94
-+
-+
-+state 222:
-+
-+ statement : RETURN opExpr . SEMICOLON
-+
-+ SEMICOLON shift 326
-+
-+
-+ . error
-+
-+
-+state 223:
-+
-+ statement : WHILE LPAREN . exprWComma RPAREN statement
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ exprWComma goto 327
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 224:
-+
-+ statement : DEFAULT COLON . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 328
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 225:
-+
-+ statement : CASE exprWComma . COLON statement
-+ exprWComma : exprWComma . COMMA expr
-+
-+ COLON shift 329
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 226:
-+
-+ statement : SWITCH LPAREN . exprWComma RPAREN statement
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ exprWComma goto 330
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 227:
-+
-+ statement : DO statement . WHILE LPAREN exprWComma RPAREN SEMICOLON
-+
-+ WHILE shift 331
-+
-+
-+ . error
-+
-+
-+state 228:
-+
-+ statement : FOR LPAREN . opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN statement
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ opExpr goto 332
-+ exprWComma goto 221
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . reduce by rule 93
-+
-+
-+state 229:
-+
-+ statement : IF LPAREN . exprWComma RPAREN statement
-+ statement : IF LPAREN . exprWComma RPAREN statement ELSE statement
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ exprWComma goto 333
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 230:
-+
-+ strings : STRING strings . (reduce by rule 90)
-+
-+
-+
-+ . reduce by rule 90
-+
-+
-+state 231:
-+
-+ statement : ID COLON . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 334
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 232:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : DEC expr . (reduce by rule 71)
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 71
-+
-+
-+state 233:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : INC expr . (reduce by rule 70)
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 70
-+
-+
-+state 234:
-+
-+ typeName : specifierQualifierList . (reduce by rule 97)
-+ typeName : specifierQualifierList . abstractDeclarator
-+
-+ LPAREN shift 337
-+ LBRACE shift 259
-+ TIMES shift 40
-+
-+ abstractDeclarator goto 336
-+ directAbstractDeclarator goto 257
-+ pointer goto 335
-+
-+ . reduce by rule 97
-+
-+
-+state 235:
-+
-+ specifierQualifierList : typeQualifierList . typeSpecifier reservedSpecifierQualifiers
-+
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPE_NAME shift 19
-+
-+ typeSpecifier goto 170
-+ typeSpecifierReserved goto 11
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 236:
-+
-+ expr : LPAREN typeName . RPAREN expr
-+
-+ RPAREN shift 338
-+
-+
-+ . error
-+
-+
-+state 237:
-+
-+ expr : LPAREN exprWComma . RPAREN
-+ exprWComma : exprWComma . COMMA expr
-+
-+ RPAREN shift 339
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 238:
-+
-+ notypeInitDeclarator : notypeDeclarator EQUALS initializer . (reduce by rule 177)
-+
-+
-+
-+ . reduce by rule 177
-+
-+
-+state 239:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ initializer : expr . (reduce by rule 210)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 210
-+
-+
-+state 240:
-+
-+ initializer : LCURLY . initializerList trailingComma RCURLY
-+
-+ LPAREN shift 124
-+ LCURLY shift 240
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 239
-+ unaryOperator goto 92
-+ initializer goto 341
-+ initializerList goto 340
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 241:
-+
-+ notypeInitDeclaratorList : notypeInitDeclaratorList COMMA initDeclarator . (reduce by rule 175)
-+
-+
-+
-+ . reduce by rule 175
-+
-+
-+state 242:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE expr . RBRACE
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ RBRACE shift 342
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . error
-+
-+
-+state 243:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE RBRACE . (reduce by rule 192)
-+
-+
-+
-+ . reduce by rule 192
-+
-+
-+state 244:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN parameterTypeList . RPAREN
-+
-+ RPAREN shift 343
-+
-+
-+ . error
-+
-+
-+state 245:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN identlist . RPAREN
-+ identlist : identlist . COMMA ID
-+
-+ RPAREN shift 344
-+ COMMA shift 253
-+
-+
-+ . error
-+
-+
-+state 246:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN RPAREN . (reduce by rule 194)
-+
-+
-+
-+ . reduce by rule 194
-+
-+
-+state 247:
-+
-+ initDeclarator : declarator EQUALS initializer . (reduce by rule 173)
-+
-+
-+
-+ . reduce by rule 173
-+
-+
-+state 248:
-+
-+ initDeclaratorList : initDeclaratorList COMMA initDeclarator . (reduce by rule 171)
-+
-+
-+
-+ . reduce by rule 171
-+
-+
-+state 249:
-+
-+ aftertypeDirectDeclarator : LPAREN aftertypeDeclarator RPAREN . (reduce by rule 191)
-+
-+
-+
-+ . reduce by rule 191
-+
-+
-+state 250:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LBRACE expr RBRACE . (reduce by rule 200)
-+
-+
-+
-+ . reduce by rule 200
-+
-+
-+state 251:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN parameterTypeList RPAREN . (reduce by rule 202)
-+
-+
-+
-+ . reduce by rule 202
-+
-+
-+state 252:
-+
-+ parameterList : parameterList COMMA . parameterDeclaration
-+ parameterTypeList : parameterList COMMA . ELIPSIS
-+
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ ELIPSIS shift 346
-+ TYPE_NAME shift 19
-+
-+ declarationSpecifiers goto 149
-+ declarationModifiers goto 148
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ parameterDeclaration goto 345
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 253:
-+
-+ identlist : identlist COMMA . ID
-+
-+ ID shift 347
-+
-+
-+ . error
-+
-+
-+state 254:
-+
-+ notypeDirectDeclarator : notypeDirectDeclarator LPAREN identlist RPAREN . (reduce by rule 203)
-+
-+
-+
-+ . reduce by rule 203
-+
-+
-+state 255:
-+
-+ parameterDeclaration : declarationModifiers notypeDeclarator . (reduce by rule 243)
-+
-+
-+
-+ . reduce by rule 243
-+
-+
-+state 256:
-+
-+ abstractDeclarator : pointer . (reduce by rule 223)
-+ abstractDeclarator : pointer . directAbstractDeclarator
-+ notypeDeclarator : pointer . notypeDirectDeclarator
-+
-+ LPAREN shift 260
-+ LBRACE shift 259
-+ ID shift 39
-+
-+ directAbstractDeclarator goto 348
-+ notypeDirectDeclarator goto 71
-+
-+ . reduce by rule 223
-+
-+
-+state 257:
-+
-+ abstractDeclarator : directAbstractDeclarator . (reduce by rule 224)
-+ directAbstractDeclarator : directAbstractDeclarator . LBRACE RBRACE
-+ directAbstractDeclarator : directAbstractDeclarator . LBRACE expr RBRACE
-+ directAbstractDeclarator : directAbstractDeclarator . LPAREN RPAREN
-+ directAbstractDeclarator : directAbstractDeclarator . LPAREN parameterTypeList RPAREN
-+
-+ LPAREN shift 350
-+ LBRACE shift 349
-+
-+
-+ . reduce by rule 224
-+
-+
-+state 258:
-+
-+ parameterDeclaration : declarationModifiers abstractDeclarator . (reduce by rule 244)
-+
-+
-+
-+ . reduce by rule 244
-+
-+
-+state 259:
-+
-+ directAbstractDeclarator : LBRACE . RBRACE
-+ directAbstractDeclarator : LBRACE . expr RBRACE
-+
-+ LPAREN shift 124
-+ RBRACE shift 352
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 351
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 260:
-+
-+ directAbstractDeclarator : LPAREN . abstractDeclarator RPAREN
-+ directAbstractDeclarator : LPAREN . RPAREN
-+ directAbstractDeclarator : LPAREN . parameterTypeList RPAREN
-+ notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN
-+
-+ LPAREN shift 260
-+ RPAREN shift 355
-+ LBRACE shift 259
-+ TIMES shift 40
-+ ID shift 39
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ abstractDeclarator goto 354
-+ directAbstractDeclarator goto 257
-+ pointer goto 256
-+ notypeDeclarator goto 78
-+ notypeDirectDeclarator goto 16
-+ declarationSpecifiers goto 149
-+ declarationModifiers goto 148
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ parameterList goto 146
-+ parameterTypeList goto 353
-+ parameterDeclaration goto 144
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 261:
-+
-+ parmDeclarator : parmDirectDeclarator . (reduce by rule 184)
-+ parmDirectDeclarator : parmDirectDeclarator . LBRACE RBRACE
-+ parmDirectDeclarator : parmDirectDeclarator . LBRACE expr RBRACE
-+ parmDirectDeclarator : parmDirectDeclarator . LPAREN RPAREN
-+ parmDirectDeclarator : parmDirectDeclarator . LPAREN parameterTypeList RPAREN
-+ parmDirectDeclarator : parmDirectDeclarator . LPAREN identlist RPAREN
-+
-+ LPAREN shift 357
-+ LBRACE shift 356
-+
-+
-+ . reduce by rule 184
-+
-+
-+state 262:
-+
-+ parameterDeclaration : declarationSpecifiers parmDeclarator . (reduce by rule 240)
-+
-+
-+
-+ . reduce by rule 240
-+
-+
-+state 263:
-+
-+ parameterDeclaration : declarationSpecifiers notypeDeclarator . (reduce by rule 239)
-+
-+
-+
-+ . reduce by rule 239
-+
-+
-+state 264:
-+
-+ abstractDeclarator : pointer . (reduce by rule 223)
-+ abstractDeclarator : pointer . directAbstractDeclarator
-+ notypeDeclarator : pointer . notypeDirectDeclarator
-+ parmDeclarator : pointer . parmDirectDeclarator
-+
-+ LPAREN shift 260
-+ LBRACE shift 259
-+ ID shift 39
-+ TYPE_NAME shift 266
-+
-+ directAbstractDeclarator goto 348
-+ notypeDirectDeclarator goto 71
-+ parmDirectDeclarator goto 358
-+
-+ . reduce by rule 223
-+
-+
-+state 265:
-+
-+ parameterDeclaration : declarationSpecifiers abstractDeclarator . (reduce by rule 242)
-+
-+
-+
-+ . reduce by rule 242
-+
-+
-+state 266:
-+
-+ parmDirectDeclarator : TYPE_NAME . (reduce by rule 204)
-+
-+
-+
-+ . reduce by rule 204
-+
-+
-+state 267:
-+
-+ enumeratorList : enumeratorList . COMMA enumerator
-+ enumSpecifier : ENUM TYPE_NAME LCURLY enumeratorList . trailingComma RCURLY
-+
-+ COMMA shift 270
-+
-+ trailingComma goto 359
-+
-+ . reduce by rule 168
-+
-+
-+state 268:
-+
-+ enumeratorList : enumeratorList . COMMA enumerator
-+ enumSpecifier : ENUM ID LCURLY enumeratorList . trailingComma RCURLY
-+
-+ COMMA shift 270
-+
-+ trailingComma goto 360
-+
-+ . reduce by rule 168
-+
-+
-+state 269:
-+
-+ enumSpecifier : ENUM LCURLY enumeratorList trailingComma . RCURLY
-+
-+ RCURLY shift 361
-+
-+
-+ . error
-+
-+
-+state 270:
-+
-+ trailingComma : COMMA . (reduce by rule 169)
-+ enumeratorList : enumeratorList COMMA . enumerator
-+
-+ ID shift 156
-+
-+ enumerator goto 362
-+
-+ . reduce by rule 169
-+
-+
-+state 271:
-+
-+ enumerator : ID EQUALS . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 363
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 272:
-+
-+ structOrUnionSpecifier : structOrUnion TYPE_NAME LCURLY structDeclarationList RCURLY . (reduce by rule 133)
-+
-+
-+
-+ . reduce by rule 133
-+
-+
-+state 273:
-+
-+ structOrUnionSpecifier : structOrUnion ID LCURLY structDeclarationList RCURLY . (reduce by rule 132)
-+
-+
-+
-+ . reduce by rule 132
-+
-+
-+state 274:
-+
-+ structDeclaratorList : structDeclaratorList COMMA . structDeclarator
-+
-+ COLON shift 167
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ pointer goto 64
-+ declarator goto 166
-+ aftertypeDeclarator goto 62
-+ notypeDeclarator goto 61
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+ structDeclarator goto 364
-+
-+ . error
-+
-+
-+state 275:
-+
-+ structDeclaration : specifierQualifierList structDeclaratorList SEMICOLON . (reduce by rule 140)
-+
-+
-+
-+ . reduce by rule 140
-+
-+
-+state 276:
-+
-+ structDeclarator : declarator COLON . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 365
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 277:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ structDeclarator : COLON expr . (reduce by rule 147)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 147
-+
-+
-+state 278:
-+
-+ notypeStructDeclaratorList : notypeStructDeclaratorList COMMA . structDeclarator
-+
-+ COLON shift 167
-+ LPAREN shift 68
-+ TIMES shift 40
-+ ID shift 39
-+ TYPE_NAME shift 67
-+
-+ pointer goto 64
-+ declarator goto 166
-+ aftertypeDeclarator goto 62
-+ notypeDeclarator goto 61
-+ aftertypeDirectDeclarator goto 60
-+ notypeDirectDeclarator goto 16
-+ structDeclarator goto 366
-+
-+ . error
-+
-+
-+state 279:
-+
-+ structDeclaration : typeQualifierList notypeStructDeclaratorList SEMICOLON . (reduce by rule 141)
-+
-+
-+
-+ . reduce by rule 141
-+
-+
-+state 280:
-+
-+ reservedSpecifierQualifiers : reservedSpecifierQualifiers . specifierQualifierReserved
-+ specifierQualifierList : typeQualifierList typeSpecifier reservedSpecifierQualifiers . (reduce by rule 113)
-+
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+
-+ specifierQualifierReserved goto 283
-+ typeSpecifierReserved goto 129
-+ typeQualifier goto 128
-+ enumSpecifier goto 127
-+ structOrUnionSpecifier goto 126
-+ structOrUnion goto 2
-+
-+ . reduce by rule 113
-+
-+
-+state 281:
-+
-+ notypeStructDeclarator : notypeDeclarator COLON . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 367
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 282:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ notypeStructDeclarator : COLON expr . (reduce by rule 150)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 150
-+
-+
-+state 283:
-+
-+ reservedSpecifierQualifiers : reservedSpecifierQualifiers specifierQualifierReserved . (reduce by rule 115)
-+
-+
-+
-+ . reduce by rule 115
-+
-+
-+state 284:
-+
-+ compoundStatement : LCURLY pushScope declarationList ostatementlist . popScope RCURLY
-+
-+
-+ popScope goto 368
-+
-+ . reduce by rule 246
-+
-+
-+state 285:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ exprWComma : exprWComma COMMA expr . (reduce by rule 92)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 92
-+
-+
-+state 286:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr RSHIFT expr . (reduce by rule 62)
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 62
-+
-+
-+state 287:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr LSHIFT expr . (reduce by rule 61)
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 61
-+
-+
-+state 288:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr AND expr . (reduce by rule 51)
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 51
-+
-+
-+state 289:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr OR expr . (reduce by rule 50)
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 50
-+
-+
-+state 290:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr NEQ expr . (reduce by rule 56)
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 56
-+
-+
-+state 291:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr EQ expr . (reduce by rule 55)
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 55
-+
-+
-+state 292:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr GT expr . (reduce by rule 58)
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 58
-+
-+
-+state 293:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr LT expr . (reduce by rule 57)
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 57
-+
-+
-+state 294:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr GTE expr . (reduce by rule 60)
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 60
-+
-+
-+state 295:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr LTE expr . (reduce by rule 59)
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 59
-+
-+
-+state 296:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr RSHIFTEQUALS expr . (reduce by rule 48)
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 48
-+
-+
-+state 297:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr LSHIFTEQUALS expr . (reduce by rule 47)
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 47
-+
-+
-+state 298:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr ANDEQUALS expr . (reduce by rule 46)
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 46
-+
-+
-+state 299:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr OREQUALS expr . (reduce by rule 45)
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 45
-+
-+
-+state 300:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr DIVEQUALS expr . (reduce by rule 42)
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 42
-+
-+
-+state 301:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr TIMESEQUALS expr . (reduce by rule 41)
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 41
-+
-+
-+state 302:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr MODEQUALS expr . (reduce by rule 43)
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 43
-+
-+
-+state 303:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr XOREQUALS expr . (reduce by rule 44)
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 44
-+
-+
-+state 304:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr MINUSEQUALS expr . (reduce by rule 40)
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 40
-+
-+
-+state 305:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr PLUSEQUALS expr . (reduce by rule 39)
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 39
-+
-+
-+state 306:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr EQUALS expr . (reduce by rule 49)
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 49
-+
-+
-+state 307:
-+
-+ expr : expr ARROW TYPE_NAME . (reduce by rule 82)
-+
-+
-+
-+ . reduce by rule 82
-+
-+
-+state 308:
-+
-+ expr : expr ARROW ID . (reduce by rule 80)
-+
-+
-+
-+ . reduce by rule 80
-+
-+
-+state 309:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr TIMES expr . (reduce by rule 65)
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 65
-+
-+
-+state 310:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr HAT expr . (reduce by rule 53)
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ AMP shift 208
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 53
-+
-+
-+state 311:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr MINUS expr . (reduce by rule 64)
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 64
-+
-+
-+state 312:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr PLUS expr . (reduce by rule 63)
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 63
-+
-+
-+state 313:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr DIVIDE expr . (reduce by rule 66)
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 66
-+
-+
-+state 314:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr BAR expr . (reduce by rule 52)
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ AMP shift 208
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 52
-+
-+
-+state 315:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr AMP expr . (reduce by rule 54)
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ PERCENT shift 209
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 54
-+
-+
-+state 316:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr PERCENT expr . (reduce by rule 67)
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 67
-+
-+
-+state 317:
-+
-+ expr : expr QUESTION exprWComma . COLON expr
-+ exprWComma : exprWComma . COMMA expr
-+
-+ COLON shift 369
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 318:
-+
-+ expr : expr DOT TYPE_NAME . (reduce by rule 81)
-+
-+
-+
-+ . reduce by rule 81
-+
-+
-+state 319:
-+
-+ expr : expr DOT ID . (reduce by rule 79)
-+
-+
-+
-+ . reduce by rule 79
-+
-+
-+state 320:
-+
-+ expr : expr LBRACE exprWComma . RBRACE
-+ exprWComma : exprWComma . COMMA expr
-+
-+ RBRACE shift 370
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 321:
-+
-+ expr : expr LPAREN argumentExprList . RPAREN
-+ argumentExprList : argumentExprList . COMMA expr
-+
-+ RPAREN shift 372
-+ COMMA shift 371
-+
-+
-+ . error
-+
-+
-+state 322:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ argumentExprList : expr . (reduce by rule 95)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 95
-+
-+
-+state 323:
-+
-+ expr : expr LPAREN RPAREN . (reduce by rule 77)
-+
-+
-+
-+ . reduce by rule 77
-+
-+
-+state 324:
-+
-+ expr : LPAREN typeName . RPAREN expr
-+ expr : SIZEOF LPAREN typeName . RPAREN
-+
-+ RPAREN shift 373
-+
-+
-+ . error
-+
-+
-+state 325:
-+
-+ statement : GOTO ID SEMICOLON . (reduce by rule 13)
-+
-+
-+
-+ . reduce by rule 13
-+
-+
-+state 326:
-+
-+ statement : RETURN opExpr SEMICOLON . (reduce by rule 12)
-+
-+
-+
-+ . reduce by rule 12
-+
-+
-+state 327:
-+
-+ statement : WHILE LPAREN exprWComma . RPAREN statement
-+ exprWComma : exprWComma . COMMA expr
-+
-+ RPAREN shift 374
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 328:
-+
-+ statement : DEFAULT COLON statement . (reduce by rule 16)
-+
-+
-+
-+ . reduce by rule 16
-+
-+
-+state 329:
-+
-+ statement : CASE exprWComma COLON . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 375
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 330:
-+
-+ statement : SWITCH LPAREN exprWComma . RPAREN statement
-+ exprWComma : exprWComma . COMMA expr
-+
-+ RPAREN shift 376
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 331:
-+
-+ statement : DO statement WHILE . LPAREN exprWComma RPAREN SEMICOLON
-+
-+ LPAREN shift 377
-+
-+
-+ . error
-+
-+
-+state 332:
-+
-+ statement : FOR LPAREN opExpr . SEMICOLON opExpr SEMICOLON opExpr RPAREN statement
-+
-+ SEMICOLON shift 378
-+
-+
-+ . error
-+
-+
-+state 333:
-+
-+ statement : IF LPAREN exprWComma . RPAREN statement
-+ statement : IF LPAREN exprWComma . RPAREN statement ELSE statement
-+ exprWComma : exprWComma . COMMA expr
-+
-+ RPAREN shift 379
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 334:
-+
-+ statement : ID COLON statement . (reduce by rule 15)
-+
-+
-+
-+ . reduce by rule 15
-+
-+
-+state 335:
-+
-+ abstractDeclarator : pointer . (reduce by rule 223)
-+ abstractDeclarator : pointer . directAbstractDeclarator
-+
-+ LPAREN shift 337
-+ LBRACE shift 259
-+
-+ directAbstractDeclarator goto 348
-+
-+ . reduce by rule 223
-+
-+
-+state 336:
-+
-+ typeName : specifierQualifierList abstractDeclarator . (reduce by rule 98)
-+
-+
-+
-+ . reduce by rule 98
-+
-+
-+state 337:
-+
-+ directAbstractDeclarator : LPAREN . abstractDeclarator RPAREN
-+ directAbstractDeclarator : LPAREN . RPAREN
-+ directAbstractDeclarator : LPAREN . parameterTypeList RPAREN
-+
-+ LPAREN shift 337
-+ RPAREN shift 355
-+ LBRACE shift 259
-+ TIMES shift 40
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ abstractDeclarator goto 354
-+ directAbstractDeclarator goto 257
-+ pointer goto 335
-+ declarationSpecifiers goto 149
-+ declarationModifiers goto 148
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ parameterList goto 146
-+ parameterTypeList goto 353
-+ parameterDeclaration goto 144
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 338:
-+
-+ expr : LPAREN typeName RPAREN . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 380
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 339:
-+
-+ expr : LPAREN exprWComma RPAREN . (reduce by rule 83)
-+
-+
-+
-+ . reduce by rule 83
-+
-+
-+state 340:
-+
-+ initializer : LCURLY initializerList . trailingComma RCURLY
-+ initializerList : initializerList . COMMA initializer
-+
-+ COMMA shift 382
-+
-+ trailingComma goto 381
-+
-+ . reduce by rule 168
-+
-+
-+state 341:
-+
-+ initializerList : initializer . (reduce by rule 212)
-+
-+
-+
-+ . reduce by rule 212
-+
-+
-+state 342:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE expr RBRACE . (reduce by rule 193)
-+
-+
-+
-+ . reduce by rule 193
-+
-+
-+state 343:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN parameterTypeList RPAREN . (reduce by rule 195)
-+
-+
-+
-+ . reduce by rule 195
-+
-+
-+state 344:
-+
-+ aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN identlist RPAREN . (reduce by rule 196)
-+
-+
-+
-+ . reduce by rule 196
-+
-+
-+state 345:
-+
-+ parameterList : parameterList COMMA parameterDeclaration . (reduce by rule 238)
-+
-+
-+
-+ . reduce by rule 238
-+
-+
-+state 346:
-+
-+ parameterTypeList : parameterList COMMA ELIPSIS . (reduce by rule 236)
-+
-+
-+
-+ . reduce by rule 236
-+
-+
-+state 347:
-+
-+ identlist : identlist COMMA ID . (reduce by rule 217)
-+
-+
-+
-+ . reduce by rule 217
-+
-+
-+state 348:
-+
-+ abstractDeclarator : pointer directAbstractDeclarator . (reduce by rule 225)
-+ directAbstractDeclarator : directAbstractDeclarator . LBRACE RBRACE
-+ directAbstractDeclarator : directAbstractDeclarator . LBRACE expr RBRACE
-+ directAbstractDeclarator : directAbstractDeclarator . LPAREN RPAREN
-+ directAbstractDeclarator : directAbstractDeclarator . LPAREN parameterTypeList RPAREN
-+
-+ LPAREN shift 350
-+ LBRACE shift 349
-+
-+
-+ . reduce by rule 225
-+
-+
-+state 349:
-+
-+ directAbstractDeclarator : directAbstractDeclarator LBRACE . RBRACE
-+ directAbstractDeclarator : directAbstractDeclarator LBRACE . expr RBRACE
-+
-+ LPAREN shift 124
-+ RBRACE shift 384
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 383
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 350:
-+
-+ directAbstractDeclarator : directAbstractDeclarator LPAREN . RPAREN
-+ directAbstractDeclarator : directAbstractDeclarator LPAREN . parameterTypeList RPAREN
-+
-+ RPAREN shift 386
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ declarationSpecifiers goto 149
-+ declarationModifiers goto 148
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ parameterList goto 146
-+ parameterTypeList goto 385
-+ parameterDeclaration goto 144
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 351:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ directAbstractDeclarator : LBRACE expr . RBRACE
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ RBRACE shift 387
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . error
-+
-+
-+state 352:
-+
-+ directAbstractDeclarator : LBRACE RBRACE . (reduce by rule 227)
-+
-+
-+
-+ . reduce by rule 227
-+
-+
-+state 353:
-+
-+ directAbstractDeclarator : LPAREN parameterTypeList . RPAREN
-+
-+ RPAREN shift 388
-+
-+
-+ . error
-+
-+
-+state 354:
-+
-+ directAbstractDeclarator : LPAREN abstractDeclarator . RPAREN
-+
-+ RPAREN shift 389
-+
-+
-+ . error
-+
-+
-+state 355:
-+
-+ directAbstractDeclarator : LPAREN RPAREN . (reduce by rule 231)
-+
-+
-+
-+ . reduce by rule 231
-+
-+
-+state 356:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LBRACE . RBRACE
-+ parmDirectDeclarator : parmDirectDeclarator LBRACE . expr RBRACE
-+
-+ LPAREN shift 124
-+ RBRACE shift 391
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 390
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 357:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN . RPAREN
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN . parameterTypeList RPAREN
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN . identlist RPAREN
-+
-+ RPAREN shift 394
-+ ID shift 150
-+ EXTERN shift 38
-+ AUTO shift 37
-+ STATIC shift 36
-+ REGISTER shift 35
-+ CONST shift 34
-+ VOLATILE shift 33
-+ CHAR shift 32
-+ DOUBLE shift 31
-+ ENUM shift 30
-+ FLOAT shift 29
-+ INT shift 28
-+ LONG shift 27
-+ SHORT shift 26
-+ STRUCT shift 25
-+ UNION shift 24
-+ UNSIGNED shift 23
-+ SIGNED shift 22
-+ VOID shift 21
-+ TYPEDEF shift 20
-+ TYPE_NAME shift 19
-+
-+ declarationSpecifiers goto 149
-+ declarationModifiers goto 148
-+ storageClassSpecifier goto 13
-+ typeSpecifier goto 12
-+ typeSpecifierReserved goto 11
-+ typeQualifier goto 10
-+ enumSpecifier goto 9
-+ structOrUnionSpecifier goto 8
-+ identlist goto 393
-+ parameterList goto 146
-+ parameterTypeList goto 392
-+ parameterDeclaration goto 144
-+ structOrUnion goto 2
-+
-+ . error
-+
-+
-+state 358:
-+
-+ parmDeclarator : pointer parmDirectDeclarator . (reduce by rule 185)
-+ parmDirectDeclarator : parmDirectDeclarator . LBRACE RBRACE
-+ parmDirectDeclarator : parmDirectDeclarator . LBRACE expr RBRACE
-+ parmDirectDeclarator : parmDirectDeclarator . LPAREN RPAREN
-+ parmDirectDeclarator : parmDirectDeclarator . LPAREN parameterTypeList RPAREN
-+ parmDirectDeclarator : parmDirectDeclarator . LPAREN identlist RPAREN
-+
-+ LPAREN shift 357
-+ LBRACE shift 356
-+
-+
-+ . reduce by rule 185
-+
-+
-+state 359:
-+
-+ enumSpecifier : ENUM TYPE_NAME LCURLY enumeratorList trailingComma . RCURLY
-+
-+ RCURLY shift 395
-+
-+
-+ . error
-+
-+
-+state 360:
-+
-+ enumSpecifier : ENUM ID LCURLY enumeratorList trailingComma . RCURLY
-+
-+ RCURLY shift 396
-+
-+
-+ . error
-+
-+
-+state 361:
-+
-+ enumSpecifier : ENUM LCURLY enumeratorList trailingComma RCURLY . (reduce by rule 154)
-+
-+
-+
-+ . reduce by rule 154
-+
-+
-+state 362:
-+
-+ enumeratorList : enumeratorList COMMA enumerator . (reduce by rule 159)
-+
-+
-+
-+ . reduce by rule 159
-+
-+
-+state 363:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ enumerator : ID EQUALS expr . (reduce by rule 162)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 162
-+
-+
-+state 364:
-+
-+ structDeclaratorList : structDeclaratorList COMMA structDeclarator . (reduce by rule 143)
-+
-+
-+
-+ . reduce by rule 143
-+
-+
-+state 365:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ structDeclarator : declarator COLON expr . (reduce by rule 148)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 148
-+
-+
-+state 366:
-+
-+ notypeStructDeclaratorList : notypeStructDeclaratorList COMMA structDeclarator . (reduce by rule 145)
-+
-+
-+
-+ . reduce by rule 145
-+
-+
-+state 367:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ notypeStructDeclarator : notypeDeclarator COLON expr . (reduce by rule 151)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 151
-+
-+
-+state 368:
-+
-+ compoundStatement : LCURLY pushScope declarationList ostatementlist popScope . RCURLY
-+
-+ RCURLY shift 397
-+
-+
-+ . error
-+
-+
-+state 369:
-+
-+ expr : expr QUESTION exprWComma COLON . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 398
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 370:
-+
-+ expr : expr LBRACE exprWComma RBRACE . (reduce by rule 76)
-+
-+
-+
-+ . reduce by rule 76
-+
-+
-+state 371:
-+
-+ argumentExprList : argumentExprList COMMA . expr
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 399
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 372:
-+
-+ expr : expr LPAREN argumentExprList RPAREN . (reduce by rule 78)
-+
-+
-+
-+ . reduce by rule 78
-+
-+
-+state 373:
-+
-+ expr : LPAREN typeName RPAREN . expr
-+ expr : SIZEOF LPAREN typeName RPAREN . (reduce by rule 75)
-+
-+ LPAREN shift 124
-+ TILDE shift 122
-+ BANG shift 119
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 380
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . reduce by rule 75
-+
-+
-+state 374:
-+
-+ statement : WHILE LPAREN exprWComma RPAREN . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 400
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 375:
-+
-+ statement : CASE exprWComma COLON statement . (reduce by rule 17)
-+
-+
-+
-+ . reduce by rule 17
-+
-+
-+state 376:
-+
-+ statement : SWITCH LPAREN exprWComma RPAREN . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 401
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 377:
-+
-+ statement : DO statement WHILE LPAREN . exprWComma RPAREN SEMICOLON
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ exprWComma goto 402
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 378:
-+
-+ statement : FOR LPAREN opExpr SEMICOLON . opExpr SEMICOLON opExpr RPAREN statement
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ opExpr goto 403
-+ exprWComma goto 221
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . reduce by rule 93
-+
-+
-+state 379:
-+
-+ statement : IF LPAREN exprWComma RPAREN . statement
-+ statement : IF LPAREN exprWComma RPAREN . statement ELSE statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 404
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 380:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : LPAREN typeName RPAREN expr . (reduce by rule 74)
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+
-+
-+ . reduce by rule 74
-+
-+
-+state 381:
-+
-+ initializer : LCURLY initializerList trailingComma . RCURLY
-+
-+ RCURLY shift 405
-+
-+
-+ . error
-+
-+
-+state 382:
-+
-+ trailingComma : COMMA . (reduce by rule 169)
-+ initializerList : initializerList COMMA . initializer
-+
-+ LPAREN shift 124
-+ LCURLY shift 240
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 239
-+ unaryOperator goto 92
-+ initializer goto 406
-+ strings goto 90
-+
-+ . reduce by rule 169
-+
-+
-+state 383:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ directAbstractDeclarator : directAbstractDeclarator LBRACE expr . RBRACE
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ RBRACE shift 407
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . error
-+
-+
-+state 384:
-+
-+ directAbstractDeclarator : directAbstractDeclarator LBRACE RBRACE . (reduce by rule 229)
-+
-+
-+
-+ . reduce by rule 229
-+
-+
-+state 385:
-+
-+ directAbstractDeclarator : directAbstractDeclarator LPAREN parameterTypeList . RPAREN
-+
-+ RPAREN shift 408
-+
-+
-+ . error
-+
-+
-+state 386:
-+
-+ directAbstractDeclarator : directAbstractDeclarator LPAREN RPAREN . (reduce by rule 233)
-+
-+
-+
-+ . reduce by rule 233
-+
-+
-+state 387:
-+
-+ directAbstractDeclarator : LBRACE expr RBRACE . (reduce by rule 228)
-+
-+
-+
-+ . reduce by rule 228
-+
-+
-+state 388:
-+
-+ directAbstractDeclarator : LPAREN parameterTypeList RPAREN . (reduce by rule 232)
-+
-+
-+
-+ . reduce by rule 232
-+
-+
-+state 389:
-+
-+ directAbstractDeclarator : LPAREN abstractDeclarator RPAREN . (reduce by rule 226)
-+
-+
-+
-+ . reduce by rule 226
-+
-+
-+state 390:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ parmDirectDeclarator : parmDirectDeclarator LBRACE expr . RBRACE
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ RBRACE shift 409
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . error
-+
-+
-+state 391:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LBRACE RBRACE . (reduce by rule 205)
-+
-+
-+
-+ . reduce by rule 205
-+
-+
-+state 392:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN parameterTypeList . RPAREN
-+
-+ RPAREN shift 410
-+
-+
-+ . error
-+
-+
-+state 393:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN identlist . RPAREN
-+ identlist : identlist . COMMA ID
-+
-+ RPAREN shift 411
-+ COMMA shift 253
-+
-+
-+ . error
-+
-+
-+state 394:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN RPAREN . (reduce by rule 207)
-+
-+
-+
-+ . reduce by rule 207
-+
-+
-+state 395:
-+
-+ enumSpecifier : ENUM TYPE_NAME LCURLY enumeratorList trailingComma RCURLY . (reduce by rule 156)
-+
-+
-+
-+ . reduce by rule 156
-+
-+
-+state 396:
-+
-+ enumSpecifier : ENUM ID LCURLY enumeratorList trailingComma RCURLY . (reduce by rule 155)
-+
-+
-+
-+ . reduce by rule 155
-+
-+
-+state 397:
-+
-+ compoundStatement : LCURLY pushScope declarationList ostatementlist popScope RCURLY . (reduce by rule 30)
-+
-+
-+
-+ . reduce by rule 30
-+
-+
-+state 398:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr QUESTION exprWComma COLON expr . (reduce by rule 38)
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 38
-+
-+
-+state 399:
-+
-+ expr : expr . QUESTION exprWComma COLON expr
-+ expr : expr . PLUSEQUALS expr
-+ expr : expr . MINUSEQUALS expr
-+ expr : expr . TIMESEQUALS expr
-+ expr : expr . DIVEQUALS expr
-+ expr : expr . MODEQUALS expr
-+ expr : expr . XOREQUALS expr
-+ expr : expr . OREQUALS expr
-+ expr : expr . ANDEQUALS expr
-+ expr : expr . LSHIFTEQUALS expr
-+ expr : expr . RSHIFTEQUALS expr
-+ expr : expr . EQUALS expr
-+ expr : expr . OR expr
-+ expr : expr . AND expr
-+ expr : expr . BAR expr
-+ expr : expr . HAT expr
-+ expr : expr . AMP expr
-+ expr : expr . EQ expr
-+ expr : expr . NEQ expr
-+ expr : expr . LT expr
-+ expr : expr . GT expr
-+ expr : expr . LTE expr
-+ expr : expr . GTE expr
-+ expr : expr . LSHIFT expr
-+ expr : expr . RSHIFT expr
-+ expr : expr . PLUS expr
-+ expr : expr . MINUS expr
-+ expr : expr . TIMES expr
-+ expr : expr . DIVIDE expr
-+ expr : expr . PERCENT expr
-+ expr : expr . INC
-+ expr : expr . DEC
-+ expr : expr . LBRACE exprWComma RBRACE
-+ expr : expr . LPAREN RPAREN
-+ expr : expr . LPAREN argumentExprList RPAREN
-+ expr : expr . DOT ID
-+ expr : expr . ARROW ID
-+ expr : expr . DOT TYPE_NAME
-+ expr : expr . ARROW TYPE_NAME
-+ argumentExprList : argumentExprList COMMA expr . (reduce by rule 96)
-+
-+ LPAREN shift 213
-+ LBRACE shift 212
-+ DOT shift 211
-+ QUESTION shift 210
-+ PERCENT shift 209
-+ AMP shift 208
-+ BAR shift 207
-+ DIVIDE shift 206
-+ PLUS shift 205
-+ MINUS shift 204
-+ HAT shift 203
-+ TIMES shift 202
-+ INC shift 201
-+ DEC shift 200
-+ ARROW shift 199
-+ EQUALS shift 198
-+ PLUSEQUALS shift 197
-+ MINUSEQUALS shift 196
-+ XOREQUALS shift 195
-+ MODEQUALS shift 194
-+ TIMESEQUALS shift 193
-+ DIVEQUALS shift 192
-+ OREQUALS shift 191
-+ ANDEQUALS shift 190
-+ LSHIFTEQUALS shift 189
-+ RSHIFTEQUALS shift 188
-+ LTE shift 187
-+ GTE shift 186
-+ LT shift 185
-+ GT shift 184
-+ EQ shift 183
-+ NEQ shift 182
-+ OR shift 181
-+ AND shift 180
-+ LSHIFT shift 179
-+ RSHIFT shift 178
-+
-+
-+ . reduce by rule 96
-+
-+
-+state 400:
-+
-+ statement : WHILE LPAREN exprWComma RPAREN statement . (reduce by rule 7)
-+
-+
-+
-+ . reduce by rule 7
-+
-+
-+state 401:
-+
-+ statement : SWITCH LPAREN exprWComma RPAREN statement . (reduce by rule 8)
-+
-+
-+
-+ . reduce by rule 8
-+
-+
-+state 402:
-+
-+ statement : DO statement WHILE LPAREN exprWComma . RPAREN SEMICOLON
-+ exprWComma : exprWComma . COMMA expr
-+
-+ RPAREN shift 412
-+ COMMA shift 176
-+
-+
-+ . error
-+
-+
-+state 403:
-+
-+ statement : FOR LPAREN opExpr SEMICOLON opExpr . SEMICOLON opExpr RPAREN statement
-+
-+ SEMICOLON shift 413
-+
-+
-+ . error
-+
-+error: state 404: shift/reduce conflict (shift ELSE, reduce by rule 18)
-+
-+state 404:
-+
-+ statement : IF LPAREN exprWComma RPAREN statement . (reduce by rule 18)
-+ statement : IF LPAREN exprWComma RPAREN statement . ELSE statement
-+
-+ ELSE shift 414
-+
-+
-+ . reduce by rule 18
-+
-+
-+state 405:
-+
-+ initializer : LCURLY initializerList trailingComma RCURLY . (reduce by rule 211)
-+
-+
-+
-+ . reduce by rule 211
-+
-+
-+state 406:
-+
-+ initializerList : initializerList COMMA initializer . (reduce by rule 213)
-+
-+
-+
-+ . reduce by rule 213
-+
-+
-+state 407:
-+
-+ directAbstractDeclarator : directAbstractDeclarator LBRACE expr RBRACE . (reduce by rule 230)
-+
-+
-+
-+ . reduce by rule 230
-+
-+
-+state 408:
-+
-+ directAbstractDeclarator : directAbstractDeclarator LPAREN parameterTypeList RPAREN . (reduce by rule 234)
-+
-+
-+
-+ . reduce by rule 234
-+
-+
-+state 409:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LBRACE expr RBRACE . (reduce by rule 206)
-+
-+
-+
-+ . reduce by rule 206
-+
-+
-+state 410:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN parameterTypeList RPAREN . (reduce by rule 208)
-+
-+
-+
-+ . reduce by rule 208
-+
-+
-+state 411:
-+
-+ parmDirectDeclarator : parmDirectDeclarator LPAREN identlist RPAREN . (reduce by rule 209)
-+
-+
-+
-+ . reduce by rule 209
-+
-+
-+state 412:
-+
-+ statement : DO statement WHILE LPAREN exprWComma RPAREN . SEMICOLON
-+
-+ SEMICOLON shift 415
-+
-+
-+ . error
-+
-+
-+state 413:
-+
-+ statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON . opExpr RPAREN statement
-+
-+ LPAREN shift 124
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 142
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ SIZEOF shift 99
-+
-+ expr goto 94
-+ opExpr goto 416
-+ exprWComma goto 221
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . reduce by rule 93
-+
-+
-+state 414:
-+
-+ statement : IF LPAREN exprWComma RPAREN statement ELSE . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 417
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 415:
-+
-+ statement : DO statement WHILE LPAREN exprWComma RPAREN SEMICOLON . (reduce by rule 9)
-+
-+
-+
-+ . reduce by rule 9
-+
-+
-+state 416:
-+
-+ statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr . RPAREN statement
-+
-+ RPAREN shift 418
-+
-+
-+ . error
-+
-+
-+state 417:
-+
-+ statement : IF LPAREN exprWComma RPAREN statement ELSE statement . (reduce by rule 19)
-+
-+
-+
-+ . reduce by rule 19
-+
-+
-+state 418:
-+
-+ statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN . statement
-+
-+ SEMICOLON shift 125
-+ LPAREN shift 124
-+ LCURLY shift 52
-+ AMP shift 123
-+ TILDE shift 122
-+ PLUS shift 121
-+ MINUS shift 120
-+ BANG shift 119
-+ TIMES shift 118
-+ INC shift 117
-+ DEC shift 116
-+ ID shift 115
-+ DECNUM shift 114
-+ REALNUM shift 113
-+ STRING shift 112
-+ CCONST shift 111
-+ IF shift 110
-+ FOR shift 109
-+ DO shift 108
-+ SWITCH shift 107
-+ CASE shift 106
-+ DEFAULT shift 105
-+ WHILE shift 104
-+ RETURN shift 103
-+ BREAK shift 102
-+ CONTINUE shift 101
-+ GOTO shift 100
-+ SIZEOF shift 99
-+
-+ statement goto 419
-+ compoundStatement goto 95
-+ expr goto 94
-+ exprWComma goto 93
-+ unaryOperator goto 92
-+ strings goto 90
-+
-+ . error
-+
-+
-+state 419:
-+
-+ statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN statement . (reduce by rule 6)
-+
-+
-+
-+ . reduce by rule 6
-+
-+
-+state 420:
-+
-+
-+ EOF accept
-+
-+
-+ . error
-+
-+2243 of 3800 action table entries left after compaction
-+712 goto table entries
-diff -Naur ckit/src/parser/grammar/c.grm.sig ckit-mlton/src/parser/grammar/c.grm.sig
---- ckit/src/parser/grammar/c.grm.sig 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.sig 2005-08-18 12:23:58.000000000 -0400
-@@ -0,0 +1,101 @@
-+signature C_TOKENS =
-+sig
-+type ('a,'b) token
-+type svalue
-+val TYPE_NAME: (string) * 'a * 'a -> (svalue,'a) token
-+val ELIPSIS: 'a * 'a -> (svalue,'a) token
-+val UNARY: 'a * 'a -> (svalue,'a) token
-+val TYPEDEF: 'a * 'a -> (svalue,'a) token
-+val SIZEOF: 'a * 'a -> (svalue,'a) token
-+val VOID: 'a * 'a -> (svalue,'a) token
-+val SIGNED: 'a * 'a -> (svalue,'a) token
-+val UNSIGNED: 'a * 'a -> (svalue,'a) token
-+val UNION: 'a * 'a -> (svalue,'a) token
-+val STRUCT: 'a * 'a -> (svalue,'a) token
-+val SATURATE: 'a * 'a -> (svalue,'a) token
-+val FRACTIONAL: 'a * 'a -> (svalue,'a) token
-+val SHORT: 'a * 'a -> (svalue,'a) token
-+val LONG: 'a * 'a -> (svalue,'a) token
-+val INT: 'a * 'a -> (svalue,'a) token
-+val FLOAT: 'a * 'a -> (svalue,'a) token
-+val ENUM: 'a * 'a -> (svalue,'a) token
-+val DOUBLE: 'a * 'a -> (svalue,'a) token
-+val CHAR: 'a * 'a -> (svalue,'a) token
-+val GOTO: 'a * 'a -> (svalue,'a) token
-+val CONTINUE: 'a * 'a -> (svalue,'a) token
-+val BREAK: 'a * 'a -> (svalue,'a) token
-+val RETURN: 'a * 'a -> (svalue,'a) token
-+val WHILE: 'a * 'a -> (svalue,'a) token
-+val DEFAULT: 'a * 'a -> (svalue,'a) token
-+val CASE: 'a * 'a -> (svalue,'a) token
-+val SWITCH: 'a * 'a -> (svalue,'a) token
-+val DO: 'a * 'a -> (svalue,'a) token
-+val FOR: 'a * 'a -> (svalue,'a) token
-+val ELSE: 'a * 'a -> (svalue,'a) token
-+val THEN: 'a * 'a -> (svalue,'a) token
-+val IF: 'a * 'a -> (svalue,'a) token
-+val VOLATILE: 'a * 'a -> (svalue,'a) token
-+val CONST: 'a * 'a -> (svalue,'a) token
-+val REGISTER: 'a * 'a -> (svalue,'a) token
-+val STATIC: 'a * 'a -> (svalue,'a) token
-+val AUTO: 'a * 'a -> (svalue,'a) token
-+val EXTERN: 'a * 'a -> (svalue,'a) token
-+val CCONST: (LargeInt.int) * 'a * 'a -> (svalue,'a) token
-+val STRING: (string) * 'a * 'a -> (svalue,'a) token
-+val REALNUM: (real) * 'a * 'a -> (svalue,'a) token
-+val DECNUM: (LargeInt.int) * 'a * 'a -> (svalue,'a) token
-+val RSHIFT: 'a * 'a -> (svalue,'a) token
-+val LSHIFT: 'a * 'a -> (svalue,'a) token
-+val AND: 'a * 'a -> (svalue,'a) token
-+val OR: 'a * 'a -> (svalue,'a) token
-+val NEQ: 'a * 'a -> (svalue,'a) token
-+val EQ: 'a * 'a -> (svalue,'a) token
-+val GT: 'a * 'a -> (svalue,'a) token
-+val LT: 'a * 'a -> (svalue,'a) token
-+val GTE: 'a * 'a -> (svalue,'a) token
-+val LTE: 'a * 'a -> (svalue,'a) token
-+val RSHIFTEQUALS: 'a * 'a -> (svalue,'a) token
-+val LSHIFTEQUALS: 'a * 'a -> (svalue,'a) token
-+val ANDEQUALS: 'a * 'a -> (svalue,'a) token
-+val OREQUALS: 'a * 'a -> (svalue,'a) token
-+val DIVEQUALS: 'a * 'a -> (svalue,'a) token
-+val TIMESEQUALS: 'a * 'a -> (svalue,'a) token
-+val MODEQUALS: 'a * 'a -> (svalue,'a) token
-+val XOREQUALS: 'a * 'a -> (svalue,'a) token
-+val MINUSEQUALS: 'a * 'a -> (svalue,'a) token
-+val PLUSEQUALS: 'a * 'a -> (svalue,'a) token
-+val EQUALS: 'a * 'a -> (svalue,'a) token
-+val ID: (string) * 'a * 'a -> (svalue,'a) token
-+val ARROW: 'a * 'a -> (svalue,'a) token
-+val DEC: 'a * 'a -> (svalue,'a) token
-+val INC: 'a * 'a -> (svalue,'a) token
-+val TIMES: 'a * 'a -> (svalue,'a) token
-+val BANG: 'a * 'a -> (svalue,'a) token
-+val HAT: 'a * 'a -> (svalue,'a) token
-+val MINUS: 'a * 'a -> (svalue,'a) token
-+val PLUS: 'a * 'a -> (svalue,'a) token
-+val DIVIDE: 'a * 'a -> (svalue,'a) token
-+val TILDE: 'a * 'a -> (svalue,'a) token
-+val BAR: 'a * 'a -> (svalue,'a) token
-+val AMP: 'a * 'a -> (svalue,'a) token
-+val PERCENT: 'a * 'a -> (svalue,'a) token
-+val QUESTION: 'a * 'a -> (svalue,'a) token
-+val COMMA: 'a * 'a -> (svalue,'a) token
-+val DOT: 'a * 'a -> (svalue,'a) token
-+val RBRACE: 'a * 'a -> (svalue,'a) token
-+val LBRACE: 'a * 'a -> (svalue,'a) token
-+val RCURLY: 'a * 'a -> (svalue,'a) token
-+val LCURLY: 'a * 'a -> (svalue,'a) token
-+val RPAREN: 'a * 'a -> (svalue,'a) token
-+val LPAREN: 'a * 'a -> (svalue,'a) token
-+val SEMICOLON: 'a * 'a -> (svalue,'a) token
-+val COLON: 'a * 'a -> (svalue,'a) token
-+val EOF: 'a * 'a -> (svalue,'a) token
-+end
-+signature C_LRVALS=
-+sig
-+structure Tokens : C_TOKENS
-+structure ParserData:PARSER_DATA
-+sharing type ParserData.Token.token = Tokens.token
-+sharing type ParserData.svalue = Tokens.svalue
-+end
diff -Naur ckit/src/parser/grammar/c.grm.sml ckit-mlton/src/parser/grammar/c.grm.sml
---- ckit/src/parser/grammar/c.grm.sml 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.sml 2005-08-18 12:23:58.000000000 -0400
-@@ -0,0 +1,3866 @@
-+functor LrValsFun(structure Token : TOKEN
-+ ) =
-+struct
-+structure ParserData=
-+struct
-+structure Header =
-+struct
-+(* DO NOT CHANGE THIS FILE -- this file was generated from cd.grm *)
-+
-+(* Copyright (c) 1998 by Lucent Technologies *)
-+
-+(* new comments from Satish Chandra, 6/21/99 *)
-+(* Overriding design approach:
-+ *
-+ * Accept all legal programs, but possibly some illegal ones at this stage.
-+ * Do not attempt to make a really tight grammar. Our tools are supposed to
-+ * work on "correct" C programs (i.e. those that cc -ansi would compile without
-+ * warnings). Of course, a type checker on the parse tree can report some errors
-+ * as syntax errors.
-+ *
-+ * Note on MARK:
-+ *
-+ * externalDecl, statement, and expression are the non-terms that are marked.
-+ * Compound statements are not separately marked.
-+ * declarations eventually become either a statement or a externalDecl
-+ * if they are outside any function. They are marked accordingly.
-+ *
-+ * Note on function definitions:
-+ *
-+ * The order of the paramaters will always come from the FuncDecr.
-+ * The types of the parameter may come from the second declaration list
-+ * (in K&R style)
-+ *
-+ * Note on the structure of the grammar:
-+ *
-+ * It is difficult to write a LALR(1) grammar based on the grammar given at
-+ * the back of the K&R book. The basic difficulty is that both TYPE_NAME and
-+ * ID are tokens that are strings, but it depends on the context whether
-+ * a given string is to be treated as an ID or a TYPE_NAME.
-+ * We have borrowed the solution used in GCC's parser specification. In this
-+ * scheme, the lexer always return the token TYPE_NAME if a name has been
-+ * defined as a type name (via a typedef) in an applicable scope. The grammar
-+ * productions are heavily rearranged (from K&R's grammar) to do the right
-+ * thing. In this rearrangement, the basic idea is that a TYPE_NAME is
-+ * allowed to appear in a declaration as a plain identifier only after a type
-+ * specifier has previously appeared in the declaration. Also, a TYPE_NAME may
-+ * appear only once in a declaration as a type specifier.
-+ *)
-+
-+(* old comments below *)
-+(* Shortcomings *)
-+(* 1. No floating-point whatsoever *)
-+
-+(* Notes on MARK:
-+ * externalDecl and statement are the non-terms that are marked.
-+ * Compound statements are not separately marked.
-+ * expressions are not marked at all.
-+ * declarations eventually become either a statement or a externalDecl
-+ * if they are outside any function. they are marked accordingly.
-+ *)
-+
-+(* Overriding theme: accept all legal programs, but also some illegal ones at this
-+ * stage. Do not attempt to make a really tight grammar. Our tools are supposed to
-+ * work on "correct" C programs (i.e. those that cc -ansi would compile without
-+ * warnings). Of course, a type checker on the parse tree can report some errors
-+ * as syntax errors.
-+ *)
-+
-+(* About function definitions:
-+ * The order of the paramaters will always come from the FuncDecr thing
-+ * The types of the parameter may come from the second declaration list (in K&R style)
-+ *)
-+
-+open ParseTree (* PortingHelp *)
-+
-+fun markExternalDecl srcMap (d,left,right) =
-+ MARKexternalDecl(SourceMap.location srcMap (left,right), d)
-+
-+fun markDeclaration srcMap (d,left,right) =
-+ MARKdeclaration(SourceMap.location srcMap (left,right), d)
-+
-+fun markDeclarator srcMap (d,left,right) =
-+ MARKdeclarator(SourceMap.location srcMap (left,right), d)
-+
-+fun markStatement srcMap (s,left,right) =
-+ MARKstatement(SourceMap.location srcMap (left, right), s)
-+
-+fun markExpression srcMap (s,left,right) =
-+ MARKexpression(SourceMap.location srcMap (left, right), s)
-+
-+val unknown = {storage=[],qualifiers=[],specifiers=[]}:decltype
-+
-+(* this code duplicated in BuildAst in function processDeclarator *)
-+fun ctypeDecrToTypeName (typ as {qualifiers, specifiers},decr) =
-+ let fun mkTyp spc = {qualifiers=[], specifiers=[spc]}
-+ fun addQual q = {qualifiers=q::qualifiers, specifiers=specifiers}
-+ in case decr
-+ of VarDecr x => (typ,SOME x)
-+ | PointerDecr x =>
-+ ctypeDecrToTypeName (mkTyp (Pointer typ),x)
-+ | ArrayDecr (x,sz) =>
-+ ctypeDecrToTypeName (mkTyp (Array (sz,typ)),x)
-+ | FuncDecr (x,lst) =>
-+ ctypeDecrToTypeName (mkTyp (Function{retType=typ,params=lst}),x)
-+ | QualDecr (q,decr) =>
-+ ctypeDecrToTypeName (addQual q, decr)
-+ | EmptyDecr => (typ, NONE)
-+ | EllipsesDecr => (mkTyp Ellipses, SOME("**ellipses**"))
-+ | DecrExt _ => (typ, NONE) (* should call decr extension? *)
-+ | MARKdeclarator(loc, decr) => ctypeDecrToTypeName(typ, decr)
-+ end
-+
-+fun dclr2str dcl =
-+ (case ctypeDecrToTypeName ({qualifiers=[],specifiers=[]}, dcl)
-+ of (_,SOME s) => s
-+ | (_,NONE) => "")
-+
-+fun combineDecltypes ( {qualifiers=q1,storage=st1,specifiers=sp1}
-+ , {qualifiers=q2,storage=st2,specifiers=sp2}
-+ ) =
-+ {qualifiers=q1@q2,storage=st1@st2,specifiers=sp1@sp2} (* @ ok *)
-+
-+fun applyPointer (PointerDecr x,rest) = PointerDecr (applyPointer (x,rest))
-+ | applyPointer (QualDecr (q,x),rest) = QualDecr (q, applyPointer (x,rest))
-+ | applyPointer (EmptyDecr, rest) = rest
-+ | applyPointer (_, rest) = rest
-+ (* NCH/DBM[6/14/99]: this case can never occur *)
-+
-+fun addStorage(st, {qualifiers,storage,specifiers}) =
-+ {qualifiers=qualifiers,storage=st::storage,specifiers=specifiers}
-+
-+fun addQualifiers(qs, {qualifiers,storage,specifiers}) =
-+ {qualifiers=qs@qualifiers,storage=storage,specifiers=specifiers} (* @ ok *)
-+
-+fun addQualifier(q, {qualifiers,storage,specifiers}) =
-+ {qualifiers=q::qualifiers,storage=storage,specifiers=specifiers}
-+
-+fun addSpecifier(sp, {qualifiers,storage,specifiers}) =
-+ {qualifiers=qualifiers,storage=storage,specifiers=sp::specifiers}
-+
-+val addAll = combineDecltypes
-+
-+fun loopQd (q::rst, acc) = loopQd(rst, QualDecr(q, acc))
-+ | loopQd (nil, acc) = acc
-+
-+fun mkCtype typ = typ
-+
-+(* DBM: major kludge, using TYPEDEF as storage class *)
-+fun insertDeclNames ({storage,...}: decltype, idl) =
-+ case storage
-+ of [TYPEDEF] => List.app (fn x as (dcl,_) => TypeDefs.addTdef (dclr2str dcl)) idl
-+ | _ => List.app (fn x as (dcl,_) => TypeDefs.addNoTdef (dclr2str dcl)) idl
-+
-+fun insertFuncName dcl =
-+ let
-+ val name = dclr2str dcl
-+ in
-+ TypeDefs.addNoTdef name
-+ end
-+
-+fun insertFuncParams (FuncDecr (_,params)) : unit =
-+ let
-+ fun getName (ct, dclr) = dclr2str dclr
-+ val names = map getName params
-+ in
-+ List.app TypeDefs.addNoTdef names
-+ end
-+ | insertFuncParams (ArrayDecr(dcl,_)) = insertFuncParams dcl
-+ | insertFuncParams (PointerDecr dcl) = insertFuncParams dcl
-+ | insertFuncParams _ = () (* this is actually an error, but it will be caught in
-+ * BuildAst when processing a PT.FunctionDef *)
-+
-+abstype 'a seq = SEQ of 'a list
-+with val emptySeq = SEQ nil
-+ fun singletonSeq x = SEQ[x]
-+ fun addToSeq(x, SEQ yl) = SEQ(x :: yl) (* add to end of sequence! *)
-+ (* fun addListToEnd(xl, yl) = SEQ((List.rev xl) @ yl) *)
-+ fun addOptToEnd(NONE, yl) = yl
-+ | addOptToEnd(SOME x, SEQ yl) = SEQ(x :: yl)
-+ fun seqToList(SEQ yl) = List.rev yl
-+end
-+
-+
-+end
-+structure LrTable = Token.LrTable
-+structure Token = Token
-+local open LrTable in
-+val table=let val actionRows =
-+"\
-+\\001\000\001\000\000\000\000\000\
-+\\001\000\002\000\169\000\004\000\070\000\022\000\042\000\026\000\041\000\
-+\\089\000\069\000\000\000\
-+\\001\000\002\000\174\000\004\000\043\000\022\000\042\000\026\000\041\000\
-+\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
-+\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
-+\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
-+\\089\000\021\000\000\000\
-+\\001\000\002\000\226\000\000\000\
-+\\001\000\002\000\075\001\011\000\178\000\000\000\
-+\\001\000\002\000\115\001\011\000\178\000\000\000\
-+\\001\000\003\000\083\002\006\000\130\002\011\000\083\002\027\000\139\000\
-+\\052\000\130\002\053\000\130\002\054\000\130\002\055\000\130\002\
-+\\056\000\130\002\057\000\130\002\071\000\130\002\072\000\130\002\
-+\\073\000\130\002\074\000\130\002\075\000\130\002\076\000\130\002\
-+\\077\000\130\002\080\000\130\002\081\000\130\002\082\000\130\002\
-+\\083\000\130\002\084\000\130\002\086\000\130\002\089\000\130\002\000\000\
-+\\001\000\003\000\087\002\006\000\131\002\011\000\087\002\027\000\135\000\
-+\\052\000\131\002\053\000\131\002\054\000\131\002\055\000\131\002\
-+\\056\000\131\002\057\000\131\002\071\000\131\002\072\000\131\002\
-+\\073\000\131\002\074\000\131\002\075\000\131\002\076\000\131\002\
-+\\077\000\131\002\080\000\131\002\081\000\131\002\082\000\131\002\
-+\\083\000\131\002\084\000\131\002\086\000\131\002\089\000\131\002\000\000\
-+\\001\000\003\000\048\000\000\000\
-+\\001\000\003\000\127\000\004\000\126\000\006\000\054\000\007\000\194\001\
-+\\014\000\125\000\016\000\124\000\018\000\123\000\019\000\122\000\
-+\\021\000\121\000\022\000\120\000\023\000\119\000\024\000\118\000\
-+\\026\000\117\000\048\000\116\000\049\000\115\000\050\000\114\000\
-+\\051\000\113\000\052\000\156\002\053\000\156\002\054\000\156\002\
-+\\055\000\156\002\056\000\156\002\057\000\156\002\058\000\112\000\
-+\\061\000\111\000\062\000\110\000\063\000\109\000\064\000\108\000\
-+\\065\000\107\000\066\000\106\000\067\000\105\000\068\000\104\000\
-+\\069\000\103\000\070\000\102\000\071\000\156\002\072\000\156\002\
-+\\073\000\156\002\074\000\156\002\075\000\156\002\076\000\156\002\
-+\\077\000\156\002\080\000\156\002\081\000\156\002\082\000\156\002\
-+\\083\000\156\002\084\000\156\002\085\000\101\000\086\000\156\002\
-+\\089\000\156\002\000\000\
-+\\001\000\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
-+\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
-+\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
-+\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
-+\\058\000\112\000\061\000\111\000\062\000\110\000\063\000\109\000\
-+\\064\000\108\000\065\000\107\000\066\000\106\000\067\000\105\000\
-+\\068\000\104\000\069\000\103\000\070\000\102\000\085\000\101\000\000\000\
-+\\001\000\003\000\179\000\011\000\178\000\000\000\
-+\\001\000\003\000\221\000\000\000\
-+\\001\000\003\000\222\000\000\000\
-+\\001\000\003\000\021\001\011\000\020\001\000\000\
-+\\001\000\003\000\025\001\011\000\024\001\000\000\
-+\\001\000\003\000\071\001\000\000\
-+\\001\000\003\000\072\001\000\000\
-+\\001\000\003\000\124\001\000\000\
-+\\001\000\003\000\159\001\000\000\
-+\\001\000\003\000\161\001\000\000\
-+\\001\000\004\000\043\000\022\000\042\000\026\000\041\000\000\000\
-+\\001\000\004\000\043\000\022\000\042\000\026\000\041\000\052\000\040\000\
-+\\053\000\039\000\054\000\038\000\055\000\037\000\056\000\036\000\
-+\\057\000\035\000\071\000\034\000\072\000\033\000\073\000\032\000\
-+\\074\000\031\000\075\000\030\000\076\000\029\000\077\000\028\000\
-+\\080\000\027\000\081\000\026\000\082\000\025\000\083\000\024\000\
-+\\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
-+\\001\000\004\000\043\000\026\000\041\000\000\000\
-+\\001\000\004\000\070\000\022\000\042\000\026\000\041\000\089\000\069\000\000\000\
-+\\001\000\004\000\070\000\026\000\041\000\089\000\069\000\000\000\
-+\\001\000\004\000\126\000\005\000\069\001\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\126\000\006\000\242\000\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\126\000\009\000\145\000\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\126\000\009\000\245\000\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\126\000\009\000\098\001\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\126\000\009\000\130\001\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\126\000\009\000\137\001\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
-+\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
-+\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
-+\\050\000\114\000\051\000\113\000\056\000\036\000\057\000\035\000\
-+\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
-+\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
-+\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
-+\\085\000\101\000\089\000\021\000\000\000\
-+\\001\000\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
-+\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
-+\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
-+\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\215\000\008\000\214\000\009\000\252\000\010\000\213\000\
-+\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
-+\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
-+\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
-+\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
-+\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
-+\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\001\000\004\000\215\000\008\000\214\000\009\000\088\001\010\000\213\000\
-+\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
-+\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
-+\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
-+\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
-+\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
-+\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\001\000\004\000\215\000\008\000\214\000\009\000\133\001\010\000\213\000\
-+\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
-+\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
-+\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
-+\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
-+\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
-+\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\001\000\004\000\215\000\008\000\214\000\009\000\153\001\010\000\213\000\
-+\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
-+\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
-+\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
-+\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
-+\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
-+\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\001\000\004\000\215\000\008\000\214\000\009\000\155\001\010\000\213\000\
-+\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
-+\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
-+\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
-+\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
-+\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
-+\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\001\000\004\000\219\000\014\000\125\000\016\000\124\000\018\000\123\000\
-+\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
-+\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
-+\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\001\000\004\000\225\000\000\000\
-+\\001\000\004\000\228\000\000\000\
-+\\001\000\004\000\230\000\000\000\
-+\\001\000\004\000\231\000\000\000\
-+\\001\000\004\000\006\001\005\000\101\001\008\000\005\001\022\000\042\000\
-+\\026\000\041\000\052\000\040\000\053\000\039\000\054\000\038\000\
-+\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
-+\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
-+\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
-+\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
-+\\089\000\021\000\000\000\
-+\\001\000\004\000\006\001\008\000\005\001\022\000\042\000\026\000\041\000\
-+\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
-+\\001\000\004\000\083\001\005\000\101\001\008\000\005\001\022\000\042\000\
-+\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
-+\\001\000\004\000\123\001\000\000\
-+\\001\000\005\000\153\000\026\000\152\000\052\000\040\000\053\000\039\000\
-+\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
-+\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
-+\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
-+\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
-+\\086\000\022\000\089\000\021\000\000\000\
-+\\001\000\005\000\161\000\000\000\
-+\\001\000\005\000\248\000\026\000\152\000\052\000\040\000\053\000\039\000\
-+\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
-+\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
-+\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
-+\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
-+\\086\000\022\000\089\000\021\000\000\000\
-+\\001\000\005\000\251\000\000\000\
-+\\001\000\005\000\253\000\000\000\
-+\\001\000\005\000\000\001\011\000\255\000\000\000\
-+\\001\000\005\000\084\001\000\000\
-+\\001\000\005\000\085\001\011\000\178\000\000\000\
-+\\001\000\005\000\089\001\000\000\
-+\\001\000\005\000\090\001\011\000\255\000\000\000\
-+\\001\000\005\000\118\001\011\000\117\001\000\000\
-+\\001\000\005\000\119\001\000\000\
-+\\001\000\005\000\120\001\011\000\178\000\000\000\
-+\\001\000\005\000\122\001\011\000\178\000\000\000\
-+\\001\000\005\000\125\001\011\000\178\000\000\000\
-+\\001\000\005\000\132\001\052\000\040\000\053\000\039\000\054\000\038\000\
-+\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
-+\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
-+\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
-+\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
-+\\089\000\021\000\000\000\
-+\\001\000\005\000\134\001\000\000\
-+\\001\000\005\000\135\001\000\000\
-+\\001\000\005\000\140\001\026\000\152\000\052\000\040\000\053\000\039\000\
-+\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
-+\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
-+\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
-+\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
-+\\086\000\022\000\089\000\021\000\000\000\
-+\\001\000\005\000\154\001\000\000\
-+\\001\000\005\000\156\001\000\000\
-+\\001\000\005\000\157\001\011\000\255\000\000\000\
-+\\001\000\005\000\158\001\011\000\178\000\000\000\
-+\\001\000\005\000\164\001\000\000\
-+\\001\000\006\000\047\000\026\000\046\000\089\000\045\000\000\000\
-+\\001\000\006\000\054\000\052\000\040\000\053\000\039\000\054\000\038\000\
-+\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
-+\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
-+\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
-+\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
-+\\089\000\021\000\000\000\
-+\\001\000\006\000\076\000\026\000\075\000\089\000\074\000\000\000\
-+\\001\000\007\000\165\000\056\000\036\000\057\000\035\000\071\000\034\000\
-+\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
-+\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
-+\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
-+\\001\000\007\000\217\000\000\000\
-+\\001\000\007\000\018\001\056\000\036\000\057\000\035\000\071\000\034\000\
-+\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
-+\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
-+\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
-+\\001\000\007\000\019\001\056\000\036\000\057\000\035\000\071\000\034\000\
-+\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
-+\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
-+\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
-+\\001\000\007\000\107\001\000\000\
-+\\001\000\007\000\141\001\000\000\
-+\\001\000\007\000\142\001\000\000\
-+\\001\000\007\000\143\001\000\000\
-+\\001\000\007\000\151\001\000\000\
-+\\001\000\009\000\116\001\011\000\178\000\000\000\
-+\\001\000\026\000\158\000\000\000\
-+\\001\000\026\000\220\000\000\000\
-+\\001\000\026\000\054\001\089\000\053\001\000\000\
-+\\001\000\026\000\065\001\089\000\064\001\000\000\
-+\\001\000\026\000\093\001\000\000\
-+\\001\000\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\086\000\022\000\088\000\092\001\
-+\\089\000\021\000\000\000\
-+\\001\000\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
-+\\001\000\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
-+\\001\000\066\000\077\001\000\000\
-+\\001\000\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
-+\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
-+\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
-+\\089\000\021\000\000\000\
-+\\167\001\003\000\044\000\004\000\043\000\022\000\042\000\026\000\041\000\
-+\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
-+\\168\001\000\000\
-+\\169\001\000\000\
-+\\170\001\000\000\
-+\\171\001\000\000\
-+\\172\001\000\000\
-+\\173\001\000\000\
-+\\174\001\000\000\
-+\\175\001\000\000\
-+\\176\001\000\000\
-+\\177\001\000\000\
-+\\178\001\000\000\
-+\\179\001\000\000\
-+\\180\001\000\000\
-+\\181\001\000\000\
-+\\182\001\000\000\
-+\\183\001\000\000\
-+\\184\001\000\000\
-+\\185\001\060\000\160\001\000\000\
-+\\186\001\000\000\
-+\\187\001\000\000\
-+\\188\001\000\000\
-+\\189\001\000\000\
-+\\190\001\004\000\070\000\022\000\042\000\026\000\041\000\089\000\069\000\000\000\
-+\\191\001\011\000\141\000\000\000\
-+\\192\001\011\000\136\000\000\000\
-+\\193\001\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
-+\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
-+\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
-+\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
-+\\058\000\112\000\061\000\111\000\062\000\110\000\063\000\109\000\
-+\\064\000\108\000\065\000\107\000\066\000\106\000\067\000\105\000\
-+\\068\000\104\000\069\000\103\000\070\000\102\000\085\000\101\000\000\000\
-+\\194\001\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
-+\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
-+\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
-+\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
-+\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\058\000\112\000\061\000\111\000\
-+\\062\000\110\000\063\000\109\000\064\000\108\000\065\000\107\000\
-+\\066\000\106\000\067\000\105\000\068\000\104\000\069\000\103\000\
-+\\070\000\102\000\071\000\034\000\072\000\033\000\073\000\032\000\
-+\\074\000\031\000\075\000\030\000\076\000\029\000\077\000\028\000\
-+\\080\000\027\000\081\000\026\000\082\000\025\000\083\000\024\000\
-+\\084\000\023\000\085\000\101\000\086\000\022\000\089\000\021\000\000\000\
-+\\195\001\000\000\
-+\\196\001\000\000\
-+\\197\001\000\000\
-+\\198\001\000\000\
-+\\199\001\000\000\
-+\\200\001\000\000\
-+\\201\001\000\000\
-+\\202\001\000\000\
-+\\203\001\000\000\
-+\\204\001\000\000\
-+\\205\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
-+\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\206\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\207\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\208\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\209\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\210\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\211\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\212\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\213\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\214\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\215\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\216\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\217\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\014\000\210\000\015\000\209\000\017\000\208\000\018\000\207\000\
-+\\019\000\206\000\020\000\205\000\022\000\204\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\218\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\014\000\210\000\015\000\209\000\017\000\208\000\018\000\207\000\
-+\\019\000\206\000\020\000\205\000\022\000\204\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\046\000\181\000\047\000\180\000\000\000\
-+\\219\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\014\000\210\000\017\000\208\000\018\000\207\000\019\000\206\000\
-+\\020\000\205\000\022\000\204\000\023\000\203\000\024\000\202\000\
-+\\025\000\201\000\038\000\189\000\039\000\188\000\040\000\187\000\
-+\\041\000\186\000\042\000\185\000\043\000\184\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\220\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\014\000\210\000\017\000\208\000\018\000\207\000\019\000\206\000\
-+\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
-+\\038\000\189\000\039\000\188\000\040\000\187\000\041\000\186\000\
-+\\042\000\185\000\043\000\184\000\046\000\181\000\047\000\180\000\000\000\
-+\\221\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
-+\\043\000\184\000\046\000\181\000\047\000\180\000\000\000\
-+\\222\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\223\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
-+\\039\000\188\000\040\000\187\000\041\000\186\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\224\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\225\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\226\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\227\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
-+\\047\000\180\000\000\000\
-+\\228\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\000\000\
-+\\229\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\000\000\
-+\\230\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\022\000\204\000\023\000\203\000\024\000\202\000\
-+\\025\000\201\000\000\000\
-+\\231\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
-+\\017\000\208\000\022\000\204\000\023\000\203\000\024\000\202\000\
-+\\025\000\201\000\000\000\
-+\\232\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\233\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\234\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\235\001\000\000\
-+\\236\001\000\000\
-+\\237\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\238\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\239\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\240\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\241\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
-+\\024\000\202\000\025\000\201\000\000\000\
-+\\242\001\004\000\126\000\016\000\124\000\021\000\121\000\023\000\119\000\
-+\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
-+\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\243\001\000\000\
-+\\244\001\000\000\
-+\\245\001\000\000\
-+\\246\001\000\000\
-+\\247\001\000\000\
-+\\248\001\000\000\
-+\\249\001\000\000\
-+\\250\001\000\000\
-+\\251\001\000\000\
-+\\252\001\000\000\
-+\\253\001\000\000\
-+\\254\001\000\000\
-+\\254\001\002\000\233\000\000\000\
-+\\255\001\000\000\
-+\\000\002\050\000\114\000\000\000\
-+\\001\002\000\000\
-+\\002\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\003\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\004\002\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
-+\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
-+\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
-+\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\005\002\011\000\178\000\000\000\
-+\\006\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\007\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\008\002\004\000\083\001\008\000\005\001\022\000\042\000\000\000\
-+\\009\002\000\000\
-+\\010\002\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\086\000\022\000\000\000\
-+\\011\002\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
-+\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\086\000\022\000\000\000\
-+\\012\002\000\000\
-+\\013\002\000\000\
-+\\014\002\000\000\
-+\\015\002\000\000\
-+\\016\002\000\000\
-+\\017\002\000\000\
-+\\018\002\000\000\
-+\\019\002\000\000\
-+\\020\002\000\000\
-+\\021\002\000\000\
-+\\022\002\000\000\
-+\\023\002\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\000\000\
-+\\024\002\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
-+\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
-+\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
-+\\083\000\024\000\084\000\023\000\000\000\
-+\\025\002\000\000\
-+\\026\002\000\000\
-+\\027\002\056\000\036\000\057\000\035\000\000\000\
-+\\028\002\000\000\
-+\\029\002\000\000\
-+\\030\002\000\000\
-+\\031\002\000\000\
-+\\032\002\000\000\
-+\\033\002\000\000\
-+\\034\002\000\000\
-+\\035\002\000\000\
-+\\036\002\000\000\
-+\\037\002\000\000\
-+\\038\002\000\000\
-+\\039\002\000\000\
-+\\040\002\000\000\
-+\\041\002\000\000\
-+\\042\002\000\000\
-+\\043\002\000\000\
-+\\044\002\000\000\
-+\\045\002\006\000\082\000\000\000\
-+\\046\002\006\000\081\000\000\000\
-+\\047\002\000\000\
-+\\048\002\000\000\
-+\\049\002\000\000\
-+\\050\002\000\000\
-+\\051\002\000\000\
-+\\052\002\000\000\
-+\\053\002\000\000\
-+\\054\002\000\000\
-+\\055\002\000\000\
-+\\056\002\000\000\
-+\\057\002\002\000\022\001\000\000\
-+\\058\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\059\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\060\002\002\000\027\001\000\000\
-+\\061\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\062\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\063\002\000\000\
-+\\064\002\000\000\
-+\\065\002\000\000\
-+\\066\002\000\000\
-+\\067\002\000\000\
-+\\068\002\006\000\155\000\000\000\
-+\\069\002\006\000\154\000\000\000\
-+\\070\002\000\000\
-+\\071\002\000\000\
-+\\072\002\027\000\017\001\000\000\
-+\\073\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\074\002\000\000\
-+\\075\002\000\000\
-+\\076\002\000\000\
-+\\077\002\000\000\
-+\\078\002\000\000\
-+\\079\002\011\000\016\001\000\000\
-+\\079\002\011\000\128\001\000\000\
-+\\080\002\004\000\126\000\006\000\242\000\014\000\125\000\016\000\124\000\
-+\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
-+\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
-+\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
-+\\080\002\026\000\158\000\000\000\
-+\\081\002\000\000\
-+\\082\002\000\000\
-+\\083\002\027\000\139\000\000\000\
-+\\084\002\000\000\
-+\\085\002\000\000\
-+\\086\002\000\000\
-+\\087\002\027\000\135\000\000\000\
-+\\088\002\000\000\
-+\\089\002\000\000\
-+\\090\002\000\000\
-+\\091\002\004\000\138\000\008\000\137\000\000\000\
-+\\092\002\004\000\138\000\008\000\137\000\000\000\
-+\\093\002\004\000\072\000\008\000\071\000\000\000\
-+\\094\002\004\000\072\000\008\000\071\000\000\000\
-+\\095\002\004\000\103\001\008\000\102\001\000\000\
-+\\096\002\004\000\103\001\008\000\102\001\000\000\
-+\\097\002\022\000\042\000\056\000\036\000\057\000\035\000\000\000\
-+\\098\002\022\000\042\000\000\000\
-+\\099\002\000\000\
-+\\100\002\000\000\
-+\\101\002\000\000\
-+\\102\002\000\000\
-+\\103\002\000\000\
-+\\104\002\000\000\
-+\\105\002\000\000\
-+\\106\002\000\000\
-+\\107\002\000\000\
-+\\108\002\000\000\
-+\\109\002\000\000\
-+\\110\002\000\000\
-+\\111\002\000\000\
-+\\112\002\000\000\
-+\\113\002\000\000\
-+\\114\002\000\000\
-+\\115\002\000\000\
-+\\116\002\000\000\
-+\\117\002\000\000\
-+\\118\002\000\000\
-+\\119\002\000\000\
-+\\120\002\000\000\
-+\\121\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
-+\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
-+\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
-+\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
-+\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
-+\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
-+\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
-+\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
-+\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
-+\\122\002\000\000\
-+\\123\002\000\000\
-+\\124\002\000\000\
-+\\125\002\000\000\
-+\\126\002\000\000\
-+\\127\002\000\000\
-+\\128\002\000\000\
-+\\129\002\000\000\
-+\\132\002\000\000\
-+\\133\002\000\000\
-+\\134\002\004\000\006\001\008\000\005\001\026\000\041\000\000\000\
-+\\134\002\004\000\006\001\008\000\005\001\026\000\041\000\089\000\012\001\000\000\
-+\\134\002\004\000\083\001\008\000\005\001\000\000\
-+\\135\002\004\000\096\001\008\000\095\001\000\000\
-+\\136\002\004\000\096\001\008\000\095\001\000\000\
-+\\137\002\000\000\
-+\\138\002\000\000\
-+\\139\002\000\000\
-+\\140\002\000\000\
-+\\141\002\000\000\
-+\\142\002\000\000\
-+\\143\002\000\000\
-+\\144\002\000\000\
-+\\145\002\000\000\
-+\\146\002\011\000\254\000\000\000\
-+\\147\002\000\000\
-+\\148\002\000\000\
-+\\149\002\000\000\
-+\\150\002\000\000\
-+\\151\002\000\000\
-+\\152\002\004\000\006\001\008\000\005\001\022\000\042\000\026\000\041\000\
-+\\089\000\012\001\000\000\
-+\\153\002\000\000\
-+\\154\002\000\000\
-+\\155\002\000\000\
-+\\157\002\000\000\
-+\"
-+val actionRowNumbers =
-+"\097\000\096\000\073\000\098\000\
-+\\008\000\099\000\101\000\074\000\
-+\\216\000\217\000\207\000\215\000\
-+\\198\000\205\000\022\000\119\000\
-+\\025\001\061\001\023\000\218\000\
-+\\008\001\219\000\226\000\227\000\
-+\\234\000\233\000\221\000\223\000\
-+\\222\000\224\000\075\000\225\000\
-+\\220\000\250\000\249\000\007\001\
-+\\005\001\006\001\004\001\040\001\
-+\\029\001\021\000\100\000\232\000\
-+\\231\000\093\000\118\000\057\001\
-+\\074\000\022\000\119\000\062\001\
-+\\009\000\196\000\208\000\198\000\
-+\\206\000\007\000\121\000\017\001\
-+\\023\001\022\001\021\001\006\000\
-+\\025\000\120\000\013\001\033\001\
-+\\024\000\028\000\049\000\026\001\
-+\\255\000\254\000\086\000\030\001\
-+\\213\000\031\001\050\000\093\000\
-+\\093\000\235\000\076\000\001\000\
-+\\002\000\211\000\058\001\063\001\
-+\\019\001\015\001\185\000\092\000\
-+\\034\000\011\000\188\000\110\000\
-+\\122\000\077\000\124\000\040\000\
-+\\087\000\012\000\013\000\190\000\
-+\\041\000\003\000\034\000\042\000\
-+\\010\000\043\000\044\000\182\000\
-+\\186\000\181\000\180\000\184\000\
-+\\034\000\034\000\129\000\133\000\
-+\\131\000\130\000\132\000\128\000\
-+\\033\000\117\000\203\000\204\000\
-+\\202\000\201\000\200\000\199\000\
-+\\197\000\027\000\024\000\029\000\
-+\\051\000\027\000\024\001\024\000\
-+\\052\000\035\000\183\000\042\001\
-+\\080\001\053\000\078\001\054\000\
-+\\046\000\084\001\059\001\044\001\
-+\\086\000\086\000\001\001\009\001\
-+\\002\001\032\001\214\000\041\001\
-+\\078\000\079\000\236\000\228\000\
-+\\014\000\239\000\243\000\034\000\
-+\\015\000\241\000\211\000\246\000\
-+\\034\000\209\000\123\000\168\000\
-+\\034\000\116\000\034\000\034\000\
-+\\034\000\034\000\034\000\034\000\
-+\\034\000\034\000\034\000\034\000\
-+\\034\000\034\000\034\000\034\000\
-+\\034\000\034\000\034\000\034\000\
-+\\034\000\034\000\034\000\088\000\
-+\\165\000\164\000\034\000\034\000\
-+\\034\000\034\000\034\000\034\000\
-+\\034\000\034\000\034\000\089\000\
-+\\034\000\026\000\125\000\127\000\
-+\\169\000\033\000\016\000\107\000\
-+\\106\000\191\000\017\000\034\000\
-+\\010\000\004\000\034\000\094\000\
-+\\190\000\034\000\187\000\010\000\
-+\\167\000\166\000\194\000\095\000\
-+\\055\000\056\000\020\001\053\001\
-+\\027\000\018\001\036\000\035\001\
-+\\057\000\058\000\037\001\016\001\
-+\\014\001\034\001\043\001\045\001\
-+\\091\000\090\000\046\001\086\001\
-+\\064\001\067\001\087\001\030\000\
-+\\045\000\027\001\083\001\082\001\
-+\\065\001\085\001\047\001\009\001\
-+\\009\001\080\000\012\001\034\000\
-+\\230\000\229\000\001\000\237\000\
-+\\034\000\244\000\001\000\238\000\
-+\\210\000\034\000\247\000\212\000\
-+\\088\001\189\000\158\000\157\000\
-+\\147\000\146\000\152\000\151\000\
-+\\154\000\153\000\156\000\155\000\
-+\\144\000\143\000\142\000\141\000\
-+\\138\000\137\000\139\000\140\000\
-+\\136\000\135\000\145\000\178\000\
-+\\176\000\161\000\149\000\160\000\
-+\\159\000\162\000\148\000\150\000\
-+\\163\000\005\000\177\000\175\000\
-+\\085\000\059\000\192\000\173\000\
-+\\060\000\109\000\108\000\061\000\
-+\\112\000\010\000\062\000\048\000\
-+\\018\000\063\000\111\000\066\001\
-+\\195\000\047\000\034\000\179\000\
-+\\010\001\055\001\036\001\038\001\
-+\\039\001\081\001\079\001\060\001\
-+\\068\001\031\000\064\000\037\000\
-+\\070\001\065\000\066\000\074\001\
-+\\032\000\067\000\028\001\081\000\
-+\\082\000\251\000\000\001\003\001\
-+\\240\000\245\000\242\000\248\000\
-+\\083\000\034\000\172\000\034\000\
-+\\174\000\171\000\010\000\113\000\
-+\\010\000\034\000\190\000\010\000\
-+\\170\000\084\000\011\001\038\000\
-+\\072\001\068\000\076\001\071\001\
-+\\075\001\069\001\039\000\048\001\
-+\\069\000\070\000\050\001\253\000\
-+\\252\000\126\000\134\000\193\000\
-+\\103\000\104\000\071\000\019\000\
-+\\114\000\054\001\056\001\073\001\
-+\\077\001\049\001\051\001\052\001\
-+\\020\000\190\000\010\000\105\000\
-+\\072\000\115\000\010\000\102\000\
-+\\000\000"
-+val gotoT =
-+"\
-+\\001\000\164\001\002\000\001\000\000\000\
-+\\021\000\018\000\024\000\017\000\027\000\016\000\029\000\015\000\
-+\\030\000\014\000\036\000\013\000\038\000\012\000\039\000\011\000\
-+\\040\000\010\000\043\000\009\000\044\000\008\000\045\000\007\000\
-+\\048\000\006\000\049\000\005\000\050\000\004\000\051\000\003\000\
-+\\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\006\000\051\000\029\000\050\000\030\000\049\000\036\000\013\000\
-+\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
-+\\044\000\008\000\046\000\048\000\049\000\047\000\050\000\004\000\
-+\\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\031\000\053\000\000\000\
-+\\000\000\
-+\\018\000\059\000\020\000\058\000\021\000\018\000\024\000\057\000\
-+\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
-+\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
-+\\017\000\066\000\019\000\065\000\021\000\064\000\022\000\063\000\
-+\\023\000\062\000\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\027\000\071\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\021\000\077\000\040\000\076\000\041\000\075\000\000\000\
-+\\021\000\018\000\024\000\078\000\027\000\016\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
-+\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\060\000\082\000\061\000\081\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\006\000\087\000\029\000\050\000\030\000\049\000\036\000\013\000\
-+\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
-+\\044\000\008\000\049\000\086\000\050\000\004\000\055\000\002\000\000\000\
-+\\018\000\059\000\020\000\058\000\021\000\018\000\024\000\088\000\
-+\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
-+\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
-+\\017\000\066\000\019\000\065\000\021\000\064\000\022\000\089\000\
-+\\023\000\062\000\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
-+\\000\000\
-+\\003\000\098\000\004\000\097\000\005\000\096\000\006\000\095\000\
-+\\007\000\094\000\009\000\093\000\010\000\092\000\062\000\091\000\
-+\\064\000\090\000\000\000\
-+\\032\000\131\000\036\000\130\000\039\000\129\000\040\000\128\000\
-+\\043\000\127\000\044\000\126\000\055\000\002\000\000\000\
-+\\000\000\
-+\\031\000\132\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\026\000\138\000\027\000\071\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\021\000\064\000\023\000\140\000\024\000\078\000\026\000\060\000\
-+\\027\000\016\000\000\000\
-+\\007\000\141\000\010\000\092\000\064\000\090\000\000\000\
-+\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
-+\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
-+\\047\000\147\000\052\000\146\000\053\000\145\000\054\000\144\000\
-+\\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\013\000\155\000\014\000\154\000\000\000\
-+\\021\000\157\000\000\000\
-+\\040\000\076\000\041\000\158\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
-+\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\060\000\160\000\061\000\081\000\000\000\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
-+\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\060\000\161\000\061\000\081\000\000\000\
-+\\000\000\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
-+\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\061\000\162\000\000\000\
-+\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
-+\\026\000\060\000\027\000\016\000\056\000\165\000\058\000\164\000\000\000\
-+\\021\000\018\000\024\000\171\000\027\000\016\000\038\000\170\000\
-+\\039\000\011\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\057\000\169\000\059\000\168\000\000\000\
-+\\033\000\173\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\029\000\050\000\030\000\049\000\036\000\013\000\038\000\012\000\
-+\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
-+\\046\000\174\000\049\000\047\000\050\000\004\000\055\000\002\000\000\000\
-+\\007\000\175\000\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\003\000\214\000\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\216\000\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\094\000\008\000\222\000\009\000\221\000\010\000\092\000\
-+\\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\094\000\009\000\225\000\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\003\000\227\000\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\064\000\230\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\232\000\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\233\000\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\094\000\009\000\237\000\010\000\092\000\037\000\236\000\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\235\000\
-+\\042\000\234\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\032\000\131\000\036\000\130\000\039\000\129\000\040\000\128\000\
-+\\043\000\127\000\044\000\126\000\055\000\002\000\000\000\
-+\\007\000\239\000\010\000\092\000\034\000\238\000\064\000\090\000\000\000\
-+\\017\000\241\000\021\000\064\000\022\000\089\000\023\000\062\000\
-+\\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
-+\\007\000\242\000\010\000\092\000\064\000\090\000\000\000\
-+\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
-+\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
-+\\047\000\245\000\052\000\146\000\053\000\244\000\054\000\144\000\
-+\\055\000\002\000\000\000\
-+\\007\000\239\000\010\000\092\000\034\000\247\000\064\000\090\000\000\000\
-+\\000\000\
-+\\017\000\248\000\021\000\064\000\022\000\089\000\023\000\062\000\
-+\\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\002\001\016\000\001\001\021\000\000\001\024\000\255\000\
-+\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
-+\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
-+\\015\000\009\001\016\000\001\001\021\000\008\001\024\000\007\001\
-+\\025\000\006\001\027\000\016\000\028\000\005\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\013\000\011\001\014\000\154\000\000\000\
-+\\013\000\012\001\014\000\154\000\000\000\
-+\\000\000\
-+\\012\000\013\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
-+\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\061\000\162\000\000\000\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
-+\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\061\000\162\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\021\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\033\000\024\001\000\000\
-+\\000\000\
-+\\007\000\026\001\010\000\092\000\064\000\090\000\000\000\
-+\\032\000\027\001\039\000\129\000\040\000\128\000\043\000\127\000\
-+\\044\000\126\000\055\000\002\000\000\000\
-+\\003\000\098\000\004\000\028\001\005\000\096\000\006\000\095\000\
-+\\007\000\094\000\009\000\093\000\010\000\092\000\029\000\050\000\
-+\\030\000\049\000\036\000\013\000\038\000\012\000\039\000\011\000\
-+\\040\000\010\000\043\000\009\000\044\000\008\000\049\000\086\000\
-+\\050\000\004\000\055\000\002\000\064\000\090\000\000\000\
-+\\000\000\
-+\\007\000\029\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\007\000\030\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\031\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\032\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\033\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\034\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\035\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\036\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\037\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\038\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\039\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\040\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\041\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\042\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\043\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\044\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\045\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\046\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\047\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\048\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\049\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\050\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\053\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\054\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\055\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\056\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\057\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\058\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\059\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\060\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\094\000\009\000\061\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\007\000\094\000\009\000\064\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\066\001\010\000\092\000\011\000\065\001\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\094\000\009\000\237\000\010\000\092\000\037\000\068\001\
-+\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\235\000\
-+\\042\000\234\000\043\000\009\000\044\000\008\000\055\000\002\000\
-+\\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\094\000\009\000\071\001\010\000\092\000\064\000\090\000\000\000\
-+\\003\000\072\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\007\000\094\000\009\000\074\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\007\000\094\000\008\000\076\001\009\000\221\000\010\000\092\000\
-+\\064\000\090\000\000\000\
-+\\007\000\094\000\009\000\077\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\003\000\078\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\080\001\016\000\001\001\021\000\079\001\000\000\
-+\\038\000\170\000\039\000\011\000\043\000\009\000\044\000\008\000\
-+\\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\239\000\010\000\092\000\034\000\085\001\035\000\084\001\
-+\\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
-+\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
-+\\054\000\089\001\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\016\000\092\001\027\000\071\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\095\001\010\000\092\000\064\000\090\000\000\000\
-+\\015\000\098\001\016\000\001\001\021\000\000\001\024\000\078\000\
-+\\027\000\016\000\029\000\149\000\030\000\148\000\036\000\013\000\
-+\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
-+\\044\000\008\000\052\000\146\000\053\000\097\001\054\000\144\000\
-+\\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\016\000\092\001\027\000\071\000\028\000\102\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\012\000\103\001\000\000\
-+\\012\000\104\001\000\000\
-+\\000\000\
-+\\014\000\106\001\000\000\
-+\\007\000\107\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
-+\\026\000\060\000\027\000\016\000\056\000\108\001\000\000\
-+\\000\000\
-+\\007\000\109\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
-+\\026\000\060\000\027\000\016\000\056\000\110\001\000\000\
-+\\000\000\
-+\\032\000\027\001\039\000\129\000\040\000\128\000\043\000\127\000\
-+\\044\000\126\000\055\000\002\000\000\000\
-+\\007\000\111\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\063\000\112\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\003\000\119\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\016\000\092\001\000\000\
-+\\000\000\
-+\\015\000\098\001\016\000\001\001\021\000\079\001\029\000\149\000\
-+\\030\000\148\000\036\000\013\000\038\000\012\000\039\000\011\000\
-+\\040\000\010\000\043\000\009\000\044\000\008\000\052\000\146\000\
-+\\053\000\097\001\054\000\144\000\055\000\002\000\000\000\
-+\\007\000\124\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\012\000\125\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\127\001\010\000\092\000\064\000\090\000\000\000\
-+\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
-+\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
-+\\052\000\146\000\053\000\129\001\054\000\144\000\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\134\001\010\000\092\000\064\000\090\000\000\000\
-+\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
-+\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
-+\\047\000\137\001\052\000\146\000\053\000\136\001\054\000\144\000\
-+\\055\000\002\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\142\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\007\000\143\001\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\007\000\124\001\010\000\092\000\064\000\090\000\000\000\
-+\\003\000\144\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\003\000\145\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\094\000\009\000\146\001\010\000\092\000\064\000\090\000\000\000\
-+\\007\000\094\000\008\000\147\001\009\000\221\000\010\000\092\000\
-+\\064\000\090\000\000\000\
-+\\003\000\148\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\239\000\010\000\092\000\034\000\150\001\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\007\000\094\000\008\000\160\001\009\000\221\000\010\000\092\000\
-+\\064\000\090\000\000\000\
-+\\003\000\161\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\003\000\163\001\006\000\095\000\007\000\094\000\009\000\093\000\
-+\\010\000\092\000\064\000\090\000\000\000\
-+\\000\000\
-+\\000\000\
-+\"
-+val numstates = 421
-+val numrules = 247
-+val s = ref "" and index = ref 0
-+val string_to_int = fn () =>
-+let val i = !index
-+in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
-+end
-+val string_to_list = fn s' =>
-+ let val len = String.size s'
-+ fun f () =
-+ if !index < len then string_to_int() :: f()
-+ else nil
-+ in index := 0; s := s'; f ()
-+ end
-+val string_to_pairlist = fn (conv_key,conv_entry) =>
-+ let fun f () =
-+ case string_to_int()
-+ of 0 => EMPTY
-+ | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
-+ in f
-+ end
-+val string_to_pairlist_default = fn (conv_key,conv_entry) =>
-+ let val conv_row = string_to_pairlist(conv_key,conv_entry)
-+ in fn () =>
-+ let val default = conv_entry(string_to_int())
-+ val row = conv_row()
-+ in (row,default)
-+ end
-+ end
-+val string_to_table = fn (convert_row,s') =>
-+ let val len = String.size s'
-+ fun f ()=
-+ if !index < len then convert_row() :: f()
-+ else nil
-+ in (s := s'; index := 0; f ())
-+ end
-+local
-+ val memo = Array.array(numstates+numrules,ERROR)
-+ val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
-+ fun f i =
-+ if i=numstates then g i
-+ else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
-+ in f 0 handle Subscript => ()
-+ end
-+in
-+val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
-+end
-+val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
-+val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
-+val actionRowNumbers = string_to_list actionRowNumbers
-+val actionT = let val actionRowLookUp=
-+let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
-+in Array.fromList(map actionRowLookUp actionRowNumbers)
-+end
-+in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
-+numStates=numstates,initialState=STATE 0}
-+end
-+end
-+local open Header in
-+type pos = int
-+type arg = SourceMap.sourcemap
-+structure MlyValue =
-+struct
-+datatype svalue = VOID' | ntVOID of unit | TYPE_NAME of (string)
-+ | CCONST of (LargeInt.int) | STRING of (string)
-+ | REALNUM of (real) | DECNUM of (LargeInt.int) | ID of (string)
-+ | strings of (string) | popScope of (unit) | pushScope of (unit)
-+ | structDeclaration of ( ( ctype * (declarator * expression) list ) )
-+ | structDeclarationList of ( ( ctype * (declarator * expression) list ) seq)
-+ | notypeStructDeclaratorList of ( ( declarator * expression ) seq)
-+ | structDeclaratorList of ( ( declarator * expression ) seq)
-+ | notypeStructDeclarator of ( ( declarator * expression ) )
-+ | structDeclarator of ( ( declarator * expression ) )
-+ | structOrUnion of (bool)
-+ | parameterDeclaration of ( ( decltype * declarator ) )
-+ | parameterTypeList of ( ( decltype * declarator ) list)
-+ | parameterList of ( ( decltype * declarator ) seq)
-+ | externalDeclaration of (externalDecl option)
-+ | declaration1 of (declaration) | declaration of (declaration)
-+ | functionDefinition of (externalDecl)
-+ | identlist of ( ( string * int * int ) seq)
-+ | declarationList of (declaration seq)
-+ | fDefDeclaration of ( ( decltype * declarator ) )
-+ | structOrUnionSpecifier of (specifier)
-+ | enumSpecifier of (specifier) | specifierQualifierList of (ctype)
-+ | typeQualifierList of (qualifier list)
-+ | typeQualifier of (qualifier)
-+ | typeSpecifierReserved of (specifier)
-+ | typeSpecifier of (specifier) | typeName of (ctype)
-+ | storageClassSpecifier of (storage)
-+ | initializerList of (expression seq) | initializer of (expression)
-+ | reservedSpecifierQualifiers of (ctype)
-+ | specifierQualifierReserved of (ctype)
-+ | reservedDeclarationSpecifier of (decltype)
-+ | declarationModifiers of (decltype)
-+ | declarationSpecifiers of (decltype)
-+ | parmDirectDeclarator of (declarator)
-+ | notypeDirectDeclarator of (declarator)
-+ | aftertypeDirectDeclarator of (declarator)
-+ | parmDeclarator of (declarator) | notypeDeclarator of (declarator)
-+ | aftertypeDeclarator of (declarator) | declarator of (declarator)
-+ | pointer of (declarator)
-+ | notypeInitDeclaratorList of ( ( declarator * expression ) seq)
-+ | initDeclaratorList of ( ( declarator * expression ) seq)
-+ | notypeInitDeclarator of ( ( declarator * expression ) )
-+ | initDeclarator of ( ( declarator * expression ) )
-+ | directAbstractDeclarator of (declarator)
-+ | abstractDeclarator of (declarator)
-+ | enumerator of ( ( string * expression ) )
-+ | enumeratorList of ( ( string * expression ) seq)
-+ | trailingComma of (bool) | argumentExprList of (expression seq)
-+ | unaryOperator of (operator) | exprWComma of (expression)
-+ | opExpr of (expression) | expr of (expression)
-+ | compoundStatement of (statement)
-+ | statementlist of (statement seq)
-+ | ostatementlist of (statement list) | statement of (statement)
-+ | tu of (externalDecl seq) | translationUnit of (externalDecl list)
-+end
-+type svalue = MlyValue.svalue
-+type result = externalDecl list
-+end
-+structure EC=
-+struct
-+open LrTable
-+infix 5 $$
-+fun x $$ y = y::x
-+val is_keyword =
-+fn (T 11) => true | (T 57) => true | (T 58) => true | (T 59) => true
-+ | (T 60) => true | (T 61) => true | (T 62) => true | (T 63) => true
-+ | (T 64) => true | (T 65) => true | (T 66) => true | (T 67) => true
-+ | (T 68) => true | (T 69) => true | _ => false
-+val preferred_change : (term list * term list) list =
-+(nil
-+ $$ (T 25),nil
-+ $$ (T 88))::
-+nil
-+val noShift =
-+fn (T 0) => true | _ => false
-+val showTerminal =
-+fn (T 0) => "EOF"
-+ | (T 1) => "COLON"
-+ | (T 2) => "SEMICOLON"
-+ | (T 3) => "LPAREN"
-+ | (T 4) => "RPAREN"
-+ | (T 5) => "LCURLY"
-+ | (T 6) => "RCURLY"
-+ | (T 7) => "LBRACE"
-+ | (T 8) => "RBRACE"
-+ | (T 9) => "DOT"
-+ | (T 10) => "COMMA"
-+ | (T 11) => "QUESTION"
-+ | (T 12) => "PERCENT"
-+ | (T 13) => "AMP"
-+ | (T 14) => "BAR"
-+ | (T 15) => "TILDE"
-+ | (T 16) => "DIVIDE"
-+ | (T 17) => "PLUS"
-+ | (T 18) => "MINUS"
-+ | (T 19) => "HAT"
-+ | (T 20) => "BANG"
-+ | (T 21) => "TIMES"
-+ | (T 22) => "INC"
-+ | (T 23) => "DEC"
-+ | (T 24) => "ARROW"
-+ | (T 25) => "ID"
-+ | (T 26) => "EQUALS"
-+ | (T 27) => "PLUSEQUALS"
-+ | (T 28) => "MINUSEQUALS"
-+ | (T 29) => "XOREQUALS"
-+ | (T 30) => "MODEQUALS"
-+ | (T 31) => "TIMESEQUALS"
-+ | (T 32) => "DIVEQUALS"
-+ | (T 33) => "OREQUALS"
-+ | (T 34) => "ANDEQUALS"
-+ | (T 35) => "LSHIFTEQUALS"
-+ | (T 36) => "RSHIFTEQUALS"
-+ | (T 37) => "LTE"
-+ | (T 38) => "GTE"
-+ | (T 39) => "LT"
-+ | (T 40) => "GT"
-+ | (T 41) => "EQ"
-+ | (T 42) => "NEQ"
-+ | (T 43) => "OR"
-+ | (T 44) => "AND"
-+ | (T 45) => "LSHIFT"
-+ | (T 46) => "RSHIFT"
-+ | (T 47) => "DECNUM"
-+ | (T 48) => "REALNUM"
-+ | (T 49) => "STRING"
-+ | (T 50) => "CCONST"
-+ | (T 51) => "EXTERN"
-+ | (T 52) => "AUTO"
-+ | (T 53) => "STATIC"
-+ | (T 54) => "REGISTER"
-+ | (T 55) => "CONST"
-+ | (T 56) => "VOLATILE"
-+ | (T 57) => "IF"
-+ | (T 58) => "THEN"
-+ | (T 59) => "ELSE"
-+ | (T 60) => "FOR"
-+ | (T 61) => "DO"
-+ | (T 62) => "SWITCH"
-+ | (T 63) => "CASE"
-+ | (T 64) => "DEFAULT"
-+ | (T 65) => "WHILE"
-+ | (T 66) => "RETURN"
-+ | (T 67) => "BREAK"
-+ | (T 68) => "CONTINUE"
-+ | (T 69) => "GOTO"
-+ | (T 70) => "CHAR"
-+ | (T 71) => "DOUBLE"
-+ | (T 72) => "ENUM"
-+ | (T 73) => "FLOAT"
-+ | (T 74) => "INT"
-+ | (T 75) => "LONG"
-+ | (T 76) => "SHORT"
-+ | (T 77) => "FRACTIONAL"
-+ | (T 78) => "SATURATE"
-+ | (T 79) => "STRUCT"
-+ | (T 80) => "UNION"
-+ | (T 81) => "UNSIGNED"
-+ | (T 82) => "SIGNED"
-+ | (T 83) => "VOID"
-+ | (T 84) => "SIZEOF"
-+ | (T 85) => "TYPEDEF"
-+ | (T 86) => "UNARY"
-+ | (T 87) => "ELIPSIS"
-+ | (T 88) => "TYPE_NAME"
-+ | _ => "bogus-term"
-+local open Header in
-+val errtermvalue=
-+fn (T 88) => MlyValue.TYPE_NAME((
-+Error.hint "Likely cause: missing typedef declaration.\n"; "bogus")) |
-+_ => MlyValue.VOID'
-+end
-+val terms : term list = nil
-+ $$ (T 87) $$ (T 86) $$ (T 85) $$ (T 84) $$ (T 83) $$ (T 82) $$ (T 81)
-+ $$ (T 80) $$ (T 79) $$ (T 78) $$ (T 77) $$ (T 76) $$ (T 75) $$ (T 74)
-+ $$ (T 73) $$ (T 72) $$ (T 71) $$ (T 70) $$ (T 69) $$ (T 68) $$ (T 67)
-+ $$ (T 66) $$ (T 65) $$ (T 64) $$ (T 63) $$ (T 62) $$ (T 61) $$ (T 60)
-+ $$ (T 59) $$ (T 58) $$ (T 57) $$ (T 56) $$ (T 55) $$ (T 54) $$ (T 53)
-+ $$ (T 52) $$ (T 51) $$ (T 46) $$ (T 45) $$ (T 44) $$ (T 43) $$ (T 42)
-+ $$ (T 41) $$ (T 40) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35)
-+ $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 31) $$ (T 30) $$ (T 29) $$ (T 28)
-+ $$ (T 27) $$ (T 26) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20)
-+ $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13)
-+ $$ (T 12) $$ (T 11) $$ (T 10) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$
-+(T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
-+structure Actions =
-+struct
+--- ckit/src/parser/grammar/c.grm.sml 2005-11-21 11:29:22.000000000 -0500
++++ ckit-mlton/src/parser/grammar/c.grm.sml 2005-11-21 11:29:23.000000000 -0500
+@@ -1866,10 +1866,11 @@
+ (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
+ structure Actions =
+ struct
+type int = Int.int
-+exception mlyAction of int
-+local open Header in
-+val actions =
+ exception mlyAction of int
+ local open Header in
+ val actions =
+-fn (i392,defaultPos,stack,
+fn (i392:int,defaultPos,stack,
-+ (srcMap):arg) =>
-+case (i392,stack)
-+of ( 0, ( ( _, ( MlyValue.tu tu, tu1left, tu1right)) :: rest671)) =>
-+ let val result = MlyValue.translationUnit (seqToList tu)
-+ in ( LrTable.NT 0, ( result, tu1left, tu1right), rest671)
-+end
-+| ( 1, ( rest671)) => let val result = MlyValue.tu (emptySeq)
-+ in ( LrTable.NT 1, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 2, ( ( _, ( MlyValue.externalDeclaration externalDeclaration, _,
-+externalDeclaration1right)) :: ( _, ( MlyValue.tu tu, tu1left, _)) ::
-+rest671)) => let val result = MlyValue.tu (
-+addOptToEnd(externalDeclaration, tu))
-+ in ( LrTable.NT 1, ( result, tu1left, externalDeclaration1right),
-+rest671)
-+end
-+| ( 3, ( ( _, ( MlyValue.declaration declaration, (declarationleft
-+ as declaration1left), (declarationright as declaration1right))) ::
-+rest671)) => let val result = MlyValue.externalDeclaration (
-+SOME(markExternalDecl srcMap (ExternalDecl declaration,
-+ declarationleft,
-+ declarationright))
-+)
-+ in ( LrTable.NT 50, ( result, declaration1left, declaration1right),
-+rest671)
-+end
-+| ( 4, ( ( _, ( _, SEMICOLON1left, SEMICOLON1right)) :: rest671)) =>
-+ let val result = MlyValue.externalDeclaration (NONE)
-+ in ( LrTable.NT 50, ( result, SEMICOLON1left, SEMICOLON1right),
-+rest671)
-+end
-+| ( 5, ( ( _, ( MlyValue.functionDefinition functionDefinition, (
-+functionDefinitionleft as functionDefinition1left), (
-+functionDefinitionright as functionDefinition1right))) :: rest671)) =>
-+ let val result = MlyValue.externalDeclaration (
-+SOME(markExternalDecl srcMap (functionDefinition,
-+ functionDefinitionleft,
-+ functionDefinitionright))
-+)
-+ in ( LrTable.NT 50, ( result, functionDefinition1left,
-+functionDefinition1right), rest671)
-+end
-+| ( 6, ( ( _, ( MlyValue.statement statement, _, (statementright as
-+statement1right))) :: _ :: ( _, ( MlyValue.opExpr opExpr3, _, _)) :: _
-+ :: ( _, ( MlyValue.opExpr opExpr2, _, _)) :: _ :: ( _, (
-+MlyValue.opExpr opExpr1, _, _)) :: _ :: ( _, ( _, (FORleft as FOR1left
-+), _)) :: rest671)) => let val result = MlyValue.statement (
-+markStatement srcMap (For(opExpr1,opExpr2,opExpr3,statement),
-+ FORleft, statementright)
-+)
-+ in ( LrTable.NT 2, ( result, FOR1left, statement1right), rest671)
-+end
-+| ( 7, ( ( _, ( MlyValue.statement statement, _, (statementright as
-+statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
-+)) :: _ :: ( _, ( _, (WHILEleft as WHILE1left), _)) :: rest671)) =>
-+ let val result = MlyValue.statement (
-+markStatement srcMap (While(exprWComma,statement),
-+ WHILEleft, statementright)
-+)
-+ in ( LrTable.NT 2, ( result, WHILE1left, statement1right), rest671)
-+
-+end
-+| ( 8, ( ( _, ( MlyValue.statement statement, _, (statementright as
-+statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
-+)) :: _ :: ( _, ( _, (SWITCHleft as SWITCH1left), _)) :: rest671)) =>
-+ let val result = MlyValue.statement (
-+markStatement srcMap (Switch(exprWComma,statement),
-+ SWITCHleft, statementright)
-+)
-+ in ( LrTable.NT 2, ( result, SWITCH1left, statement1right), rest671)
-+
-+end
-+| ( 9, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: _ :: (
-+ _, ( MlyValue.exprWComma exprWComma, _, _)) :: _ :: _ :: ( _, (
-+MlyValue.statement statement, _, _)) :: ( _, ( _, (DOleft as DO1left),
-+ _)) :: rest671)) => let val result = MlyValue.statement (
-+markStatement srcMap (Do(exprWComma,statement),
-+ DOleft, SEMICOLONright)
-+)
-+ in ( LrTable.NT 2, ( result, DO1left, SEMICOLON1right), rest671)
-+end
-+| ( 10, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _,
-+( _, (BREAKleft as BREAK1left), _)) :: rest671)) => let val result =
-+MlyValue.statement (
-+markStatement srcMap (Break,
-+ BREAKleft, SEMICOLONright))
-+ in ( LrTable.NT 2, ( result, BREAK1left, SEMICOLON1right), rest671)
-+
-+end
-+| ( 11, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _,
-+( _, (CONTINUEleft as CONTINUE1left), _)) :: rest671)) => let val
-+result = MlyValue.statement (
-+markStatement srcMap (Continue,
-+ CONTINUEleft, SEMICOLONright))
-+ in ( LrTable.NT 2, ( result, CONTINUE1left, SEMICOLON1right), rest671
-+)
-+end
-+| ( 12, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _,
-+( MlyValue.opExpr opExpr, _, _)) :: ( _, ( _, (RETURNleft as
-+RETURN1left), _)) :: rest671)) => let val result = MlyValue.statement
-+ (
-+markStatement srcMap (Return(opExpr),
-+ RETURNleft, SEMICOLONright)
-+)
-+ in ( LrTable.NT 2, ( result, RETURN1left, SEMICOLON1right), rest671)
-+
-+end
-+| ( 13, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _,
-+( MlyValue.ID ID, _, _)) :: ( _, ( _, (GOTOleft as GOTO1left), _)) ::
-+rest671)) => let val result = MlyValue.statement (
-+markStatement srcMap (Goto(ID),
-+ GOTOleft, SEMICOLONright))
-+ in ( LrTable.NT 2, ( result, GOTO1left, SEMICOLON1right), rest671)
-+
-+end
-+| ( 14, ( ( _, ( MlyValue.compoundStatement compoundStatement,
-+compoundStatement1left, compoundStatement1right)) :: rest671)) => let
-+ val result = MlyValue.statement (compoundStatement)
-+ in ( LrTable.NT 2, ( result, compoundStatement1left,
-+compoundStatement1right), rest671)
-+end
-+| ( 15, ( ( _, ( MlyValue.statement statement, _, (statementright as
-+statement1right))) :: _ :: ( _, ( MlyValue.ID ID, (IDleft as ID1left),
-+ _)) :: rest671)) => let val result = MlyValue.statement (
-+markStatement srcMap (Labeled(ID,statement),
-+ IDleft,statementright)
-+)
-+ in ( LrTable.NT 2, ( result, ID1left, statement1right), rest671)
-+end
-+| ( 16, ( ( _, ( MlyValue.statement statement, _, (statementright as
-+statement1right))) :: _ :: ( _, ( _, (DEFAULTleft as DEFAULT1left), _)
-+) :: rest671)) => let val result = MlyValue.statement (
-+markStatement srcMap (DefaultLabel(statement),
-+ DEFAULTleft, statementright)
-+)
-+ in ( LrTable.NT 2, ( result, DEFAULT1left, statement1right), rest671)
-+
-+end
-+| ( 17, ( ( _, ( MlyValue.statement statement, _, (statementright as
-+statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
-+)) :: ( _, ( _, (CASEleft as CASE1left), _)) :: rest671)) => let val
-+result = MlyValue.statement (
-+markStatement srcMap (CaseLabel(exprWComma,statement),
-+ CASEleft, statementright)
-+)
-+ in ( LrTable.NT 2, ( result, CASE1left, statement1right), rest671)
-+
-+end
-+| ( 18, ( ( _, ( MlyValue.statement statement, _, (statementright as
-+statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
-+)) :: _ :: ( _, ( _, (IFleft as IF1left), _)) :: rest671)) => let val
-+ result = MlyValue.statement (
-+markStatement srcMap (IfThen(exprWComma,statement),
-+ IFleft, statementright)
-+)
-+ in ( LrTable.NT 2, ( result, IF1left, statement1right), rest671)
-+end
-+| ( 19, ( ( _, ( MlyValue.statement statement2, _, statement2right))
-+ :: _ :: ( _, ( MlyValue.statement statement1, _, _)) :: _ :: ( _, (
-+MlyValue.exprWComma exprWComma, _, _)) :: _ :: ( _, ( _, (IFleft as
-+IF1left), _)) :: rest671)) => let val result = MlyValue.statement (
-+markStatement srcMap (IfThenElse(exprWComma,statement1,statement2),
-+ IFleft,
-+ statement2right)
-+)
-+ in ( LrTable.NT 2, ( result, IF1left, statement2right), rest671)
-+end
-+| ( 20, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _,
-+( MlyValue.exprWComma exprWComma, (exprWCommaleft as exprWComma1left),
-+ _)) :: rest671)) => let val result = MlyValue.statement (
-+markStatement srcMap (Expr(exprWComma),
-+ exprWCommaleft, SEMICOLONright)
-+)
-+ in ( LrTable.NT 2, ( result, exprWComma1left, SEMICOLON1right),
-+rest671)
-+end
-+| ( 21, ( ( _, ( _, (SEMICOLONleft as SEMICOLON1left), (
-+SEMICOLONright as SEMICOLON1right))) :: rest671)) => let val result =
-+ MlyValue.statement (
-+markStatement srcMap (Expr(EmptyExpr),
-+ SEMICOLONleft, SEMICOLONright)
-+)
-+ in ( LrTable.NT 2, ( result, SEMICOLON1left, SEMICOLON1right),
-+rest671)
-+end
-+| ( 22, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, (
-+MlyValue.declaration1 declaration1, declaration11left, _)) :: rest671)
-+) => let val result = MlyValue.declaration (declaration1)
-+ in ( LrTable.NT 48, ( result, declaration11left, SEMICOLON1right),
-+rest671)
-+end
-+| ( 23, ( ( _, ( MlyValue.declarationSpecifiers declarationSpecifiers
-+, (declarationSpecifiersleft as declarationSpecifiers1left), (
-+declarationSpecifiersright as declarationSpecifiers1right))) ::
-+rest671)) => let val result = MlyValue.declaration1 (
-+insertDeclNames (declarationSpecifiers, []);
-+ markDeclaration srcMap
-+ (Declaration(declarationSpecifiers, []),
-+ declarationSpecifiersleft, declarationSpecifiersright)
-+)
-+ in ( LrTable.NT 49, ( result, declarationSpecifiers1left,
-+declarationSpecifiers1right), rest671)
-+end
-+| ( 24, ( ( _, ( MlyValue.initDeclaratorList initDeclaratorList, _, (
-+initDeclaratorListright as initDeclaratorList1right))) :: ( _, (
-+MlyValue.declarationSpecifiers declarationSpecifiers, (
-+declarationSpecifiersleft as declarationSpecifiers1left), _)) ::
-+rest671)) => let val result = MlyValue.declaration1 (
-+let val decl = (declarationSpecifiers, seqToList initDeclaratorList)
-+ in insertDeclNames decl;
-+ markDeclaration srcMap
-+ (Declaration decl, declarationSpecifiersleft, initDeclaratorListright)
-+ end
-+)
-+ in ( LrTable.NT 49, ( result, declarationSpecifiers1left,
-+initDeclaratorList1right), rest671)
-+end
-+| ( 25, ( ( _, ( MlyValue.notypeInitDeclaratorList
-+notypeInitDeclaratorList, _, (notypeInitDeclaratorListright as
-+notypeInitDeclaratorList1right))) :: ( _, (
-+MlyValue.declarationModifiers declarationModifiers, (
-+declarationModifiersleft as declarationModifiers1left), _)) :: rest671
-+)) => let val result = MlyValue.declaration1 (
-+let val decl = (declarationModifiers, seqToList notypeInitDeclaratorList)
-+ in insertDeclNames decl;
-+ markDeclaration srcMap
-+ (Declaration decl, declarationModifiersleft, notypeInitDeclaratorListright)
-+ end
-+)
-+ in ( LrTable.NT 49, ( result, declarationModifiers1left,
-+notypeInitDeclaratorList1right), rest671)
-+end
-+| ( 26, ( ( _, ( MlyValue.statementlist statementlist,
-+statementlist1left, statementlist1right)) :: rest671)) => let val
-+result = MlyValue.ostatementlist (seqToList statementlist)
-+ in ( LrTable.NT 3, ( result, statementlist1left, statementlist1right)
-+, rest671)
-+end
-+| ( 27, ( rest671)) => let val result = MlyValue.ostatementlist ([])
-+ in ( LrTable.NT 3, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 28, ( ( _, ( MlyValue.statement statement, statement1left,
-+statement1right)) :: rest671)) => let val result =
-+MlyValue.statementlist (singletonSeq statement)
-+ in ( LrTable.NT 4, ( result, statement1left, statement1right),
-+rest671)
-+end
-+| ( 29, ( ( _, ( MlyValue.statement statement, _, statement1right))
-+ :: ( _, ( MlyValue.statementlist statementlist, statementlist1left, _
-+)) :: rest671)) => let val result = MlyValue.statementlist (
-+addToSeq(statement, statementlist))
-+ in ( LrTable.NT 4, ( result, statementlist1left, statement1right),
-+rest671)
-+end
-+| ( 30, ( ( _, ( _, _, (RCURLYright as RCURLY1right))) :: _ :: ( _, (
-+ MlyValue.ostatementlist ostatementlist, _, _)) :: ( _, (
-+MlyValue.declarationList declarationList, _, _)) :: _ :: ( _, ( _, (
-+LCURLYleft as LCURLY1left), _)) :: rest671)) => let val result =
-+MlyValue.compoundStatement (
-+markStatement srcMap (Compound ((map Decl (seqToList declarationList)) @ ostatementlist), LCURLYleft, RCURLYright)
-+)
-+ in ( LrTable.NT 5, ( result, LCURLY1left, RCURLY1right), rest671)
-+end
-+| ( 31, ( ( _, ( _, _, (RCURLYright as RCURLY1right))) :: ( _, (
-+MlyValue.ostatementlist ostatementlist, _, _)) :: ( _, ( _, (
-+LCURLYleft as LCURLY1left), _)) :: rest671)) => let val result =
-+MlyValue.compoundStatement (
-+markStatement srcMap (Compound (ostatementlist), LCURLYleft, RCURLYright)
-+)
-+ in ( LrTable.NT 5, ( result, LCURLY1left, RCURLY1right), rest671)
-+end
-+| ( 32, ( ( _, ( _, AMP1left, AMP1right)) :: rest671)) => let val
-+result = MlyValue.unaryOperator (AddrOf)
-+ in ( LrTable.NT 9, ( result, AMP1left, AMP1right), rest671)
-+end
-+| ( 33, ( ( _, ( _, TIMES1left, TIMES1right)) :: rest671)) => let
-+ val result = MlyValue.unaryOperator (Star)
-+ in ( LrTable.NT 9, ( result, TIMES1left, TIMES1right), rest671)
-+end
-+| ( 34, ( ( _, ( _, PLUS1left, PLUS1right)) :: rest671)) => let val
-+result = MlyValue.unaryOperator (Uplus)
-+ in ( LrTable.NT 9, ( result, PLUS1left, PLUS1right), rest671)
-+end
-+| ( 35, ( ( _, ( _, MINUS1left, MINUS1right)) :: rest671)) => let
-+ val result = MlyValue.unaryOperator (Negate)
-+ in ( LrTable.NT 9, ( result, MINUS1left, MINUS1right), rest671)
-+end
-+| ( 36, ( ( _, ( _, TILDE1left, TILDE1right)) :: rest671)) => let
-+ val result = MlyValue.unaryOperator (BitNot)
-+ in ( LrTable.NT 9, ( result, TILDE1left, TILDE1right), rest671)
-+end
-+| ( 37, ( ( _, ( _, BANG1left, BANG1right)) :: rest671)) => let val
-+result = MlyValue.unaryOperator (Not)
-+ in ( LrTable.NT 9, ( result, BANG1left, BANG1right), rest671)
-+end
-+| ( 38, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.exprWComma exprWComma1, _, _)) :: _ :: ( _, ( MlyValue.expr
-+expr1, expr1left, _)) :: rest671)) => let val result = MlyValue.expr
-+ (
-+markExpression srcMap (QuestionColon(expr1,exprWComma1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 39, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(PlusAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 40, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(MinusAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 41, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(TimesAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 42, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(DivAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 43, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(ModAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 44, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(XorAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 45, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(OrAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 46, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(AndAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 47, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(LshiftAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 48, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(RshiftAssign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 49, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Assign,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 50, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Or,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 51, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(And,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 52, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(BitOr,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 53, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(BitXor,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 54, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(BitAnd,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 55, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Eq,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 56, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Neq,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 57, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Lt,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 58, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Gt,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 59, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Lte,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 60, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Gte,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 61, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Lshift,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 62, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Rshift,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 63, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Plus,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 64, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Minus,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 65, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Times,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 66, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Divide,expr1,expr2),expr1left,expr2right)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 67, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, (
-+MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Mod,expr1,expr2),expr1left,expr2right))
-+ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
-+end
-+| ( 68, ( ( _, ( _, _, (INCright as INC1right))) :: ( _, (
-+MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
-+ val result = MlyValue.expr (
-+markExpression srcMap (Unop(PostInc,expr),exprleft,INCright))
-+ in ( LrTable.NT 6, ( result, expr1left, INC1right), rest671)
-+end
-+| ( 69, ( ( _, ( _, _, (DECright as DEC1right))) :: ( _, (
-+MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
-+ val result = MlyValue.expr (
-+markExpression srcMap (Unop(PostDec,expr),exprleft,DECright))
-+ in ( LrTable.NT 6, ( result, expr1left, DEC1right), rest671)
-+end
-+| ( 70, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
-+ :: ( _, ( _, (INCleft as INC1left), _)) :: rest671)) => let val
-+result = MlyValue.expr (
-+markExpression srcMap (Unop(PreInc,expr),INCleft,exprright))
-+ in ( LrTable.NT 6, ( result, INC1left, expr1right), rest671)
-+end
-+| ( 71, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
-+ :: ( _, ( _, (DECleft as DEC1left), _)) :: rest671)) => let val
-+result = MlyValue.expr (
-+markExpression srcMap (Unop(PreDec,expr),DECleft,exprright))
-+ in ( LrTable.NT 6, ( result, DEC1left, expr1right), rest671)
-+end
-+| ( 72, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
-+ :: ( _, ( MlyValue.unaryOperator unaryOperator, (unaryOperatorleft
-+ as unaryOperator1left), _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Unop(unaryOperator,expr),unaryOperatorleft,exprright)
-+)
-+ in ( LrTable.NT 6, ( result, unaryOperator1left, expr1right), rest671
-+)
-+end
-+| ( 73, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
-+ :: ( _, ( _, (SIZEOFleft as SIZEOF1left), _)) :: rest671)) => let
-+ val result = MlyValue.expr (
-+markExpression srcMap (Unop(Sizeof,expr),SIZEOFleft,exprright))
-+ in ( LrTable.NT 6, ( result, SIZEOF1left, expr1right), rest671)
-+end
-+| ( 74, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
-+ :: _ :: ( _, ( MlyValue.typeName typeName, _, _)) :: ( _, ( _, (
-+LPARENleft as LPAREN1left), _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Cast (typeName,expr),LPARENleft,exprright))
-+ in ( LrTable.NT 6, ( result, LPAREN1left, expr1right), rest671)
-+end
-+| ( 75, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, (
-+MlyValue.typeName typeName, _, _)) :: _ :: ( _, ( _, (SIZEOFleft as
-+SIZEOF1left), _)) :: rest671)) => let val result = MlyValue.expr (
-+markExpression srcMap (Unop(SizeofType typeName,EmptyExpr),SIZEOFleft,RPARENright)
-+)
-+ in ( LrTable.NT 6, ( result, SIZEOF1left, RPAREN1right), rest671)
-+end
-+| ( 76, ( ( _, ( _, _, (RBRACEright as RBRACE1right))) :: ( _, (
-+MlyValue.exprWComma exprWComma, _, _)) :: _ :: ( _, ( MlyValue.expr
-+expr, (exprleft as expr1left), _)) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (Binop(Sub,expr,exprWComma),exprleft,RBRACEright)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, RBRACE1right), rest671)
-+end
-+| ( 77, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: _ :: ( _, (
-+ MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
-+ val result = MlyValue.expr (
-+markExpression srcMap (Call(expr,[]),exprleft,RPARENright))
-+ in ( LrTable.NT 6, ( result, expr1left, RPAREN1right), rest671)
-+end
-+| ( 78, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, (
-+MlyValue.argumentExprList argumentExprList, _, _)) :: _ :: ( _, (
-+MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
-+ val result = MlyValue.expr (
-+markExpression srcMap (Call(expr, seqToList argumentExprList),exprleft,RPARENright)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, RPAREN1right), rest671)
-+end
-+| ( 79, ( ( _, ( MlyValue.ID ID, _, (IDright as ID1right))) :: _ :: (
-+ _, ( MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) =>
-+ let val result = MlyValue.expr (
-+markExpression srcMap (Binop(Dot,expr,Id(ID)),exprleft,IDright))
-+ in ( LrTable.NT 6, ( result, expr1left, ID1right), rest671)
-+end
-+| ( 80, ( ( _, ( MlyValue.ID ID, _, (IDright as ID1right))) :: _ :: (
-+ _, ( MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) =>
-+ let val result = MlyValue.expr (
-+markExpression srcMap (Binop(Arrow,expr,Id(ID)),exprleft,IDright))
-+ in ( LrTable.NT 6, ( result, expr1left, ID1right), rest671)
-+end
-+| ( 81, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, (TYPE_NAMEright as
-+TYPE_NAME1right))) :: _ :: ( _, ( MlyValue.expr expr, (exprleft as
-+expr1left), _)) :: rest671)) => let val result = MlyValue.expr (
-+markExpression srcMap (Binop(Dot,expr,Id(TYPE_NAME)),exprleft,TYPE_NAMEright)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, TYPE_NAME1right), rest671)
-+
-+end
-+| ( 82, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, (TYPE_NAMEright as
-+TYPE_NAME1right))) :: _ :: ( _, ( MlyValue.expr expr, (exprleft as
-+expr1left), _)) :: rest671)) => let val result = MlyValue.expr (
-+markExpression srcMap (Binop(Arrow,expr,Id(TYPE_NAME)),exprleft,TYPE_NAMEright)
-+)
-+ in ( LrTable.NT 6, ( result, expr1left, TYPE_NAME1right), rest671)
-+
-+end
-+| ( 83, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, (
-+MlyValue.exprWComma exprWComma, _, _)) :: ( _, ( _, (LPARENleft as
-+LPAREN1left), _)) :: rest671)) => let val result = MlyValue.expr (
-+markExpression srcMap (exprWComma,LPARENleft,RPARENright))
-+ in ( LrTable.NT 6, ( result, LPAREN1left, RPAREN1right), rest671)
-+end
-+| ( 84, ( ( _, ( MlyValue.DECNUM DECNUM, (DECNUMleft as DECNUM1left),
-+ (DECNUMright as DECNUM1right))) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (IntConst DECNUM,DECNUMleft,DECNUMright))
-+ in ( LrTable.NT 6, ( result, DECNUM1left, DECNUM1right), rest671)
-+end
-+| ( 85, ( ( _, ( MlyValue.REALNUM REALNUM, (REALNUMleft as
-+REALNUM1left), (REALNUMright as REALNUM1right))) :: rest671)) => let
-+ val result = MlyValue.expr (
-+markExpression srcMap (RealConst REALNUM, REALNUMleft,REALNUMright))
-+ in ( LrTable.NT 6, ( result, REALNUM1left, REALNUM1right), rest671)
-+
-+end
-+| ( 86, ( ( _, ( MlyValue.CCONST CCONST, (CCONSTleft as CCONST1left),
-+ (CCONSTright as CCONST1right))) :: rest671)) => let val result =
-+MlyValue.expr (
-+markExpression srcMap (IntConst CCONST, CCONSTleft,CCONSTright))
-+ in ( LrTable.NT 6, ( result, CCONST1left, CCONST1right), rest671)
-+end
-+| ( 87, ( ( _, ( MlyValue.ID ID, (IDleft as ID1left), (IDright as
-+ID1right))) :: rest671)) => let val result = MlyValue.expr (
-+markExpression srcMap (Id(ID), IDleft, IDright))
-+ in ( LrTable.NT 6, ( result, ID1left, ID1right), rest671)
-+end
-+| ( 88, ( ( _, ( MlyValue.strings strings, (stringsleft as
-+strings1left), (stringsright as strings1right))) :: rest671)) => let
-+ val result = MlyValue.expr (
-+markExpression srcMap (String(strings),stringsleft,stringsright))
-+ in ( LrTable.NT 6, ( result, strings1left, strings1right), rest671)
-+
-+end
-+| ( 89, ( ( _, ( MlyValue.STRING STRING, STRING1left, STRING1right))
-+ :: rest671)) => let val result = MlyValue.strings (STRING)
-+ in ( LrTable.NT 63, ( result, STRING1left, STRING1right), rest671)
-+
-+end
-+| ( 90, ( ( _, ( MlyValue.strings strings, _, strings1right)) :: ( _,
-+ ( MlyValue.STRING STRING, STRING1left, _)) :: rest671)) => let val
-+result = MlyValue.strings (STRING ^ strings)
-+ in ( LrTable.NT 63, ( result, STRING1left, strings1right), rest671)
-+
-+end
-+| ( 91, ( ( _, ( MlyValue.expr expr, expr1left, expr1right)) ::
-+rest671)) => let val result = MlyValue.exprWComma (expr)
-+ in ( LrTable.NT 8, ( result, expr1left, expr1right), rest671)
-+end
-+| ( 92, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
-+ :: _ :: ( _, ( MlyValue.exprWComma exprWComma, (exprWCommaleft as
-+exprWComma1left), _)) :: rest671)) => let val result =
-+MlyValue.exprWComma (
-+markExpression srcMap (Binop(Comma,exprWComma,expr),exprWCommaleft,exprright)
-+)
-+ in ( LrTable.NT 8, ( result, exprWComma1left, expr1right), rest671)
-+
-+end
-+| ( 93, ( rest671)) => let val result = MlyValue.opExpr (EmptyExpr)
-+ in ( LrTable.NT 7, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 94, ( ( _, ( MlyValue.exprWComma exprWComma, exprWComma1left,
-+exprWComma1right)) :: rest671)) => let val result = MlyValue.opExpr (
-+exprWComma)
-+ in ( LrTable.NT 7, ( result, exprWComma1left, exprWComma1right),
-+rest671)
-+end
-+| ( 95, ( ( _, ( MlyValue.expr expr, expr1left, expr1right)) ::
-+rest671)) => let val result = MlyValue.argumentExprList (
-+singletonSeq expr)
-+ in ( LrTable.NT 10, ( result, expr1left, expr1right), rest671)
-+end
-+| ( 96, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, (
-+MlyValue.argumentExprList argumentExprList, argumentExprList1left, _))
-+ :: rest671)) => let val result = MlyValue.argumentExprList (
-+addToSeq(expr, argumentExprList))
-+ in ( LrTable.NT 10, ( result, argumentExprList1left, expr1right),
-+rest671)
-+end
-+| ( 97, ( ( _, ( MlyValue.specifierQualifierList
-+specifierQualifierList, specifierQualifierList1left,
-+specifierQualifierList1right)) :: rest671)) => let val result =
-+MlyValue.typeName (specifierQualifierList)
-+ in ( LrTable.NT 36, ( result, specifierQualifierList1left,
-+specifierQualifierList1right), rest671)
-+end
-+| ( 98, ( ( _, ( MlyValue.abstractDeclarator abstractDeclarator, _,
-+abstractDeclarator1right)) :: ( _, ( MlyValue.specifierQualifierList
-+specifierQualifierList, specifierQualifierList1left, _)) :: rest671))
-+ => let val result = MlyValue.typeName (
-+#1 (ctypeDecrToTypeName (specifierQualifierList, abstractDeclarator)))
-+ in ( LrTable.NT 36, ( result, specifierQualifierList1left,
-+abstractDeclarator1right), rest671)
-+end
-+| ( 99, ( ( _, ( MlyValue.reservedDeclarationSpecifier
-+reservedDeclarationSpecifier, _, reservedDeclarationSpecifier1right))
-+ :: ( _, ( MlyValue.typeSpecifier typeSpecifier, typeSpecifier1left, _
-+)) :: rest671)) => let val result = MlyValue.declarationSpecifiers (
-+addSpecifier (typeSpecifier,
-+ reservedDeclarationSpecifier)
-+)
-+ in ( LrTable.NT 28, ( result, typeSpecifier1left,
-+reservedDeclarationSpecifier1right), rest671)
-+end
-+| ( 100, ( ( _, ( MlyValue.reservedDeclarationSpecifier
-+reservedDeclarationSpecifier, _, reservedDeclarationSpecifier1right))
-+ :: ( _, ( MlyValue.typeSpecifier typeSpecifier, _, _)) :: ( _, (
-+MlyValue.declarationModifiers declarationModifiers,
-+declarationModifiers1left, _)) :: rest671)) => let val result =
-+MlyValue.declarationSpecifiers (
-+addAll (declarationModifiers,
-+ addSpecifier (typeSpecifier,
-+ reservedDeclarationSpecifier))
-+)
-+ in ( LrTable.NT 28, ( result, declarationModifiers1left,
-+reservedDeclarationSpecifier1right), rest671)
-+end
-+| ( 101, ( rest671)) => let val result =
-+MlyValue.reservedDeclarationSpecifier (unknown)
-+ in ( LrTable.NT 30, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 102, ( ( _, ( MlyValue.specifierQualifierReserved
-+specifierQualifierReserved, _, specifierQualifierReserved1right)) :: (
-+ _, ( MlyValue.reservedDeclarationSpecifier
-+reservedDeclarationSpecifier, reservedDeclarationSpecifier1left, _))
-+ :: rest671)) => let val result =
-+MlyValue.reservedDeclarationSpecifier (
-+let val {qualifiers,specifiers} = specifierQualifierReserved
-+ val decltype = {qualifiers=qualifiers,specifiers=specifiers,storage=[]}
-+ in addAll (decltype, reservedDeclarationSpecifier) end
-+)
-+ in ( LrTable.NT 30, ( result, reservedDeclarationSpecifier1left,
-+specifierQualifierReserved1right), rest671)
-+end
-+| ( 103, ( ( _, ( MlyValue.storageClassSpecifier
-+storageClassSpecifier, _, storageClassSpecifier1right)) :: ( _, (
-+MlyValue.reservedDeclarationSpecifier reservedDeclarationSpecifier,
-+reservedDeclarationSpecifier1left, _)) :: rest671)) => let val result
-+ = MlyValue.reservedDeclarationSpecifier (
-+addStorage (storageClassSpecifier,
-+ reservedDeclarationSpecifier)
-+)
-+ in ( LrTable.NT 30, ( result, reservedDeclarationSpecifier1left,
-+storageClassSpecifier1right), rest671)
-+end
-+| ( 104, ( ( _, ( MlyValue.typeSpecifierReserved
-+typeSpecifierReserved, typeSpecifierReserved1left,
-+typeSpecifierReserved1right)) :: rest671)) => let val result =
-+MlyValue.specifierQualifierReserved (
-+{qualifiers=[],specifiers=[typeSpecifierReserved]})
-+ in ( LrTable.NT 31, ( result, typeSpecifierReserved1left,
-+typeSpecifierReserved1right), rest671)
-+end
-+| ( 105, ( ( _, ( MlyValue.typeQualifier typeQualifier,
-+typeQualifier1left, typeQualifier1right)) :: rest671)) => let val
-+result = MlyValue.specifierQualifierReserved (
-+{qualifiers=[typeQualifier],specifiers=[]})
-+ in ( LrTable.NT 31, ( result, typeQualifier1left, typeQualifier1right
-+), rest671)
-+end
-+| ( 106, ( ( _, ( MlyValue.structOrUnionSpecifier
-+structOrUnionSpecifier, structOrUnionSpecifier1left,
-+structOrUnionSpecifier1right)) :: rest671)) => let val result =
-+MlyValue.specifierQualifierReserved (
-+{qualifiers=[],specifiers=[structOrUnionSpecifier]})
-+ in ( LrTable.NT 31, ( result, structOrUnionSpecifier1left,
-+structOrUnionSpecifier1right), rest671)
-+end
-+| ( 107, ( ( _, ( MlyValue.enumSpecifier enumSpecifier,
-+enumSpecifier1left, enumSpecifier1right)) :: rest671)) => let val
-+result = MlyValue.specifierQualifierReserved (
-+{qualifiers=[],specifiers=[enumSpecifier]})
-+ in ( LrTable.NT 31, ( result, enumSpecifier1left, enumSpecifier1right
-+), rest671)
-+end
-+| ( 108, ( ( _, ( MlyValue.storageClassSpecifier
-+storageClassSpecifier, storageClassSpecifier1left,
-+storageClassSpecifier1right)) :: rest671)) => let val result =
-+MlyValue.declarationModifiers (
-+{storage = [storageClassSpecifier],
-+ qualifiers = [],
-+ specifiers = []}
-+)
-+ in ( LrTable.NT 29, ( result, storageClassSpecifier1left,
-+storageClassSpecifier1right), rest671)
-+end
-+| ( 109, ( ( _, ( MlyValue.storageClassSpecifier
-+storageClassSpecifier, _, storageClassSpecifier1right)) :: ( _, (
-+MlyValue.declarationModifiers declarationModifiers,
-+declarationModifiers1left, _)) :: rest671)) => let val result =
-+MlyValue.declarationModifiers (
-+addStorage(storageClassSpecifier,declarationModifiers))
-+ in ( LrTable.NT 29, ( result, declarationModifiers1left,
-+storageClassSpecifier1right), rest671)
-+end
-+| ( 110, ( ( _, ( MlyValue.typeQualifier typeQualifier,
-+typeQualifier1left, typeQualifier1right)) :: rest671)) => let val
-+result = MlyValue.declarationModifiers (
-+{specifiers = [],
-+ storage = [],
-+ qualifiers = [typeQualifier]}
-+)
-+ in ( LrTable.NT 29, ( result, typeQualifier1left, typeQualifier1right
-+), rest671)
-+end
-+| ( 111, ( ( _, ( MlyValue.typeQualifier typeQualifier, _,
-+typeQualifier1right)) :: ( _, ( MlyValue.declarationModifiers
-+declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
-+ let val result = MlyValue.declarationModifiers (
-+addQualifier(typeQualifier, declarationModifiers))
-+ in ( LrTable.NT 29, ( result, declarationModifiers1left,
-+typeQualifier1right), rest671)
-+end
-+| ( 112, ( ( _, ( MlyValue.reservedSpecifierQualifiers
-+reservedSpecifierQualifiers, _, reservedSpecifierQualifiers1right)) ::
-+ ( _, ( MlyValue.typeSpecifier typeSpecifier, typeSpecifier1left, _))
-+ :: rest671)) => let val result = MlyValue.specifierQualifierList (
-+let val {specifiers, qualifiers} = reservedSpecifierQualifiers
-+ in {specifiers=typeSpecifier::specifiers,qualifiers=qualifiers} end
-+)
-+ in ( LrTable.NT 41, ( result, typeSpecifier1left,
-+reservedSpecifierQualifiers1right), rest671)
-+end
-+| ( 113, ( ( _, ( MlyValue.reservedSpecifierQualifiers
-+reservedSpecifierQualifiers, _, reservedSpecifierQualifiers1right)) ::
-+ ( _, ( MlyValue.typeSpecifier typeSpecifier, _, _)) :: ( _, (
-+MlyValue.typeQualifierList typeQualifierList, typeQualifierList1left,
-+ _)) :: rest671)) => let val result = MlyValue.specifierQualifierList
-+ (
-+let val {specifiers, qualifiers} = reservedSpecifierQualifiers
-+ in {specifiers=typeSpecifier::specifiers
-+ ,qualifiers=typeQualifierList@qualifiers
-+ }
-+ end
-+)
-+ in ( LrTable.NT 41, ( result, typeQualifierList1left,
-+reservedSpecifierQualifiers1right), rest671)
-+end
-+| ( 114, ( rest671)) => let val result =
-+MlyValue.reservedSpecifierQualifiers ({qualifiers=[],specifiers=[]})
-+ in ( LrTable.NT 32, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 115, ( ( _, ( MlyValue.specifierQualifierReserved
-+specifierQualifierReserved, _, specifierQualifierReserved1right)) :: (
-+ _, ( MlyValue.reservedSpecifierQualifiers reservedSpecifierQualifiers
-+, reservedSpecifierQualifiers1left, _)) :: rest671)) => let val
-+result = MlyValue.reservedSpecifierQualifiers (
-+let val {specifiers=s1, qualifiers=q1} = reservedSpecifierQualifiers
-+ val {specifiers=s2, qualifiers=q2} = specifierQualifierReserved
-+ in {specifiers=s1@s2, qualifiers=q1@q2} end
-+)
-+ in ( LrTable.NT 32, ( result, reservedSpecifierQualifiers1left,
-+specifierQualifierReserved1right), rest671)
-+end
-+| ( 116, ( ( _, ( MlyValue.typeQualifier typeQualifier,
-+typeQualifier1left, typeQualifier1right)) :: rest671)) => let val
-+result = MlyValue.typeQualifierList ([typeQualifier])
-+ in ( LrTable.NT 40, ( result, typeQualifier1left, typeQualifier1right
-+), rest671)
-+end
-+| ( 117, ( ( _, ( MlyValue.typeQualifierList typeQualifierList, _,
-+typeQualifierList1right)) :: ( _, ( MlyValue.typeQualifier
-+typeQualifier, typeQualifier1left, _)) :: rest671)) => let val result
-+ = MlyValue.typeQualifierList (typeQualifier::typeQualifierList)
-+ in ( LrTable.NT 40, ( result, typeQualifier1left,
-+typeQualifierList1right), rest671)
-+end
-+| ( 118, ( ( _, ( MlyValue.typeSpecifierReserved
-+typeSpecifierReserved, typeSpecifierReserved1left,
-+typeSpecifierReserved1right)) :: rest671)) => let val result =
-+MlyValue.typeSpecifier (typeSpecifierReserved)
-+ in ( LrTable.NT 37, ( result, typeSpecifierReserved1left,
-+typeSpecifierReserved1right), rest671)
-+end
-+| ( 119, ( ( _, ( MlyValue.structOrUnionSpecifier
-+structOrUnionSpecifier, structOrUnionSpecifier1left,
-+structOrUnionSpecifier1right)) :: rest671)) => let val result =
-+MlyValue.typeSpecifier (structOrUnionSpecifier)
-+ in ( LrTable.NT 37, ( result, structOrUnionSpecifier1left,
-+structOrUnionSpecifier1right), rest671)
-+end
-+| ( 120, ( ( _, ( MlyValue.enumSpecifier enumSpecifier,
-+enumSpecifier1left, enumSpecifier1right)) :: rest671)) => let val
-+result = MlyValue.typeSpecifier (enumSpecifier)
-+ in ( LrTable.NT 37, ( result, enumSpecifier1left, enumSpecifier1right
-+), rest671)
-+end
-+| ( 121, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, TYPE_NAME1left,
-+TYPE_NAME1right)) :: rest671)) => let val result =
-+MlyValue.typeSpecifier (TypedefName TYPE_NAME)
-+ in ( LrTable.NT 37, ( result, TYPE_NAME1left, TYPE_NAME1right),
-+rest671)
-+end
-+| ( 122, ( ( _, ( _, VOID1left, VOID1right)) :: rest671)) => let val
-+ result = MlyValue.typeSpecifierReserved (Void)
-+ in ( LrTable.NT 38, ( result, VOID1left, VOID1right), rest671)
-+end
-+| ( 123, ( ( _, ( _, CHAR1left, CHAR1right)) :: rest671)) => let val
-+ result = MlyValue.typeSpecifierReserved (Char)
-+ in ( LrTable.NT 38, ( result, CHAR1left, CHAR1right), rest671)
-+end
-+| ( 124, ( ( _, ( _, SHORT1left, SHORT1right)) :: rest671)) => let
-+ val result = MlyValue.typeSpecifierReserved (Short)
-+ in ( LrTable.NT 38, ( result, SHORT1left, SHORT1right), rest671)
-+end
-+| ( 125, ( ( _, ( _, INT1left, INT1right)) :: rest671)) => let val
-+result = MlyValue.typeSpecifierReserved (Int)
-+ in ( LrTable.NT 38, ( result, INT1left, INT1right), rest671)
-+end
-+| ( 126, ( ( _, ( _, LONG1left, LONG1right)) :: rest671)) => let val
-+ result = MlyValue.typeSpecifierReserved (Long)
-+ in ( LrTable.NT 38, ( result, LONG1left, LONG1right), rest671)
-+end
-+| ( 127, ( ( _, ( _, FLOAT1left, FLOAT1right)) :: rest671)) => let
-+ val result = MlyValue.typeSpecifierReserved (Float)
-+ in ( LrTable.NT 38, ( result, FLOAT1left, FLOAT1right), rest671)
-+end
-+| ( 128, ( ( _, ( _, DOUBLE1left, DOUBLE1right)) :: rest671)) => let
-+ val result = MlyValue.typeSpecifierReserved (Double)
-+ in ( LrTable.NT 38, ( result, DOUBLE1left, DOUBLE1right), rest671)
-+
-+end
-+| ( 129, ( ( _, ( _, SIGNED1left, SIGNED1right)) :: rest671)) => let
-+ val result = MlyValue.typeSpecifierReserved (Signed)
-+ in ( LrTable.NT 38, ( result, SIGNED1left, SIGNED1right), rest671)
-+
-+end
-+| ( 130, ( ( _, ( _, UNSIGNED1left, UNSIGNED1right)) :: rest671)) =>
-+ let val result = MlyValue.typeSpecifierReserved (Unsigned)
-+ in ( LrTable.NT 38, ( result, UNSIGNED1left, UNSIGNED1right), rest671
-+)
-+end
-+| ( 131, ( ( _, ( _, _, RCURLY1right)) :: ( _, (
-+MlyValue.structDeclarationList structDeclarationList, _, _)) :: _ :: (
-+ _, ( MlyValue.structOrUnion structOrUnion, structOrUnion1left, _)) ::
-+ rest671)) => let val result = MlyValue.structOrUnionSpecifier (
-+Struct{isStruct=structOrUnion, tagOpt=NONE, members=seqToList structDeclarationList}
-+)
-+ in ( LrTable.NT 43, ( result, structOrUnion1left, RCURLY1right),
-+rest671)
-+end
-+| ( 132, ( ( _, ( _, _, RCURLY1right)) :: ( _, (
-+MlyValue.structDeclarationList structDeclarationList, _, _)) :: _ :: (
-+ _, ( MlyValue.ID ID, _, _)) :: ( _, ( MlyValue.structOrUnion
-+structOrUnion, structOrUnion1left, _)) :: rest671)) => let val result
-+ = MlyValue.structOrUnionSpecifier (
-+Struct{isStruct=structOrUnion, tagOpt=SOME ID, members=seqToList structDeclarationList}
-+)
-+ in ( LrTable.NT 43, ( result, structOrUnion1left, RCURLY1right),
-+rest671)
-+end
-+| ( 133, ( ( _, ( _, _, RCURLY1right)) :: ( _, (
-+MlyValue.structDeclarationList structDeclarationList, _, _)) :: _ :: (
-+ _, ( MlyValue.TYPE_NAME TYPE_NAME, _, _)) :: ( _, (
-+MlyValue.structOrUnion structOrUnion, structOrUnion1left, _)) ::
-+rest671)) => let val result = MlyValue.structOrUnionSpecifier (
-+Struct{isStruct=structOrUnion, tagOpt=SOME TYPE_NAME, members=seqToList structDeclarationList}
-+)
-+ in ( LrTable.NT 43, ( result, structOrUnion1left, RCURLY1right),
-+rest671)
-+end
-+| ( 134, ( ( _, ( MlyValue.ID ID, _, ID1right)) :: ( _, (
-+MlyValue.structOrUnion structOrUnion, structOrUnion1left, _)) ::
-+rest671)) => let val result = MlyValue.structOrUnionSpecifier (
-+StructTag {isStruct=structOrUnion, name=ID})
-+ in ( LrTable.NT 43, ( result, structOrUnion1left, ID1right), rest671)
-+
-+end
-+| ( 135, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, TYPE_NAME1right))
-+ :: ( _, ( MlyValue.structOrUnion structOrUnion, structOrUnion1left, _
-+)) :: rest671)) => let val result = MlyValue.structOrUnionSpecifier (
-+StructTag {isStruct=structOrUnion, name=TYPE_NAME})
-+ in ( LrTable.NT 43, ( result, structOrUnion1left, TYPE_NAME1right),
-+rest671)
-+end
-+| ( 136, ( ( _, ( _, STRUCT1left, STRUCT1right)) :: rest671)) => let
-+ val result = MlyValue.structOrUnion (true)
-+ in ( LrTable.NT 54, ( result, STRUCT1left, STRUCT1right), rest671)
-+
-+end
-+| ( 137, ( ( _, ( _, UNION1left, UNION1right)) :: rest671)) => let
-+ val result = MlyValue.structOrUnion (false)
-+ in ( LrTable.NT 54, ( result, UNION1left, UNION1right), rest671)
-+end
-+| ( 138, ( ( _, ( MlyValue.structDeclaration structDeclaration,
-+structDeclaration1left, structDeclaration1right)) :: rest671)) => let
-+ val result = MlyValue.structDeclarationList (
-+singletonSeq structDeclaration)
-+ in ( LrTable.NT 59, ( result, structDeclaration1left,
-+structDeclaration1right), rest671)
-+end
-+| ( 139, ( ( _, ( MlyValue.structDeclaration structDeclaration, _,
-+structDeclaration1right)) :: ( _, ( MlyValue.structDeclarationList
-+structDeclarationList, structDeclarationList1left, _)) :: rest671)) =>
-+ let val result = MlyValue.structDeclarationList (
-+addToSeq(structDeclaration, structDeclarationList))
-+ in ( LrTable.NT 59, ( result, structDeclarationList1left,
-+structDeclaration1right), rest671)
-+end
-+| ( 140, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, (
-+MlyValue.structDeclaratorList structDeclaratorList, _, _)) :: ( _, (
-+MlyValue.specifierQualifierList specifierQualifierList,
-+specifierQualifierList1left, _)) :: rest671)) => let val result =
-+MlyValue.structDeclaration (
-+(specifierQualifierList, seqToList structDeclaratorList))
-+ in ( LrTable.NT 60, ( result, specifierQualifierList1left,
-+SEMICOLON1right), rest671)
-+end
-+| ( 141, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, (
-+MlyValue.notypeStructDeclaratorList notypeStructDeclaratorList, _, _))
-+ :: ( _, ( MlyValue.typeQualifierList typeQualifierList,
-+typeQualifierList1left, _)) :: rest671)) => let val result =
-+MlyValue.structDeclaration (
-+let
-+ val ct = {qualifiers=typeQualifierList, specifiers=[]}
-+ in
-+ (ct, seqToList notypeStructDeclaratorList)
-+ end
-+)
-+ in ( LrTable.NT 60, ( result, typeQualifierList1left, SEMICOLON1right
-+), rest671)
-+end
-+| ( 142, ( ( _, ( MlyValue.structDeclarator structDeclarator,
-+structDeclarator1left, structDeclarator1right)) :: rest671)) => let
-+ val result = MlyValue.structDeclaratorList (
-+singletonSeq structDeclarator)
-+ in ( LrTable.NT 57, ( result, structDeclarator1left,
-+structDeclarator1right), rest671)
-+end
-+| ( 143, ( ( _, ( MlyValue.structDeclarator structDeclarator, _,
-+structDeclarator1right)) :: _ :: ( _, ( MlyValue.structDeclaratorList
-+structDeclaratorList, structDeclaratorList1left, _)) :: rest671)) =>
-+ let val result = MlyValue.structDeclaratorList (
-+addToSeq(structDeclarator, structDeclaratorList))
-+ in ( LrTable.NT 57, ( result, structDeclaratorList1left,
-+structDeclarator1right), rest671)
-+end
-+| ( 144, ( ( _, ( MlyValue.notypeStructDeclarator
-+notypeStructDeclarator, notypeStructDeclarator1left,
-+notypeStructDeclarator1right)) :: rest671)) => let val result =
-+MlyValue.notypeStructDeclaratorList (
-+singletonSeq notypeStructDeclarator)
-+ in ( LrTable.NT 58, ( result, notypeStructDeclarator1left,
-+notypeStructDeclarator1right), rest671)
-+end
-+| ( 145, ( ( _, ( MlyValue.structDeclarator structDeclarator, _,
-+structDeclarator1right)) :: _ :: ( _, (
-+MlyValue.notypeStructDeclaratorList notypeStructDeclaratorList,
-+notypeStructDeclaratorList1left, _)) :: rest671)) => let val result =
-+ MlyValue.notypeStructDeclaratorList (
-+addToSeq(structDeclarator, notypeStructDeclaratorList))
-+ in ( LrTable.NT 58, ( result, notypeStructDeclaratorList1left,
-+structDeclarator1right), rest671)
-+end
-+| ( 146, ( ( _, ( MlyValue.declarator declarator, declarator1left,
-+declarator1right)) :: rest671)) => let val result =
-+MlyValue.structDeclarator (declarator, EmptyExpr)
-+ in ( LrTable.NT 55, ( result, declarator1left, declarator1right),
-+rest671)
-+end
-+| ( 147, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: ( _, ( _,
-+COLON1left, _)) :: rest671)) => let val result =
-+MlyValue.structDeclarator (EmptyDecr, expr)
-+ in ( LrTable.NT 55, ( result, COLON1left, expr1right), rest671)
-+end
-+| ( 148, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, (
-+MlyValue.declarator declarator, declarator1left, _)) :: rest671)) =>
-+ let val result = MlyValue.structDeclarator (declarator, expr)
-+ in ( LrTable.NT 55, ( result, declarator1left, expr1right), rest671)
-+
-+end
-+| ( 149, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator,
-+notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
-+ val result = MlyValue.notypeStructDeclarator (
-+notypeDeclarator, EmptyExpr)
-+ in ( LrTable.NT 56, ( result, notypeDeclarator1left,
-+notypeDeclarator1right), rest671)
-+end
-+| ( 150, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: ( _, ( _,
-+COLON1left, _)) :: rest671)) => let val result =
-+MlyValue.notypeStructDeclarator (EmptyDecr, expr)
-+ in ( LrTable.NT 56, ( result, COLON1left, expr1right), rest671)
-+end
-+| ( 151, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, (
-+MlyValue.notypeDeclarator notypeDeclarator, notypeDeclarator1left, _))
-+ :: rest671)) => let val result = MlyValue.notypeStructDeclarator (
-+notypeDeclarator, expr)
-+ in ( LrTable.NT 56, ( result, notypeDeclarator1left, expr1right),
-+rest671)
-+end
-+| ( 152, ( ( _, ( _, CONST1left, CONST1right)) :: rest671)) => let
-+ val result = MlyValue.typeQualifier (CONST)
-+ in ( LrTable.NT 39, ( result, CONST1left, CONST1right), rest671)
-+end
-+| ( 153, ( ( _, ( _, VOLATILE1left, VOLATILE1right)) :: rest671)) =>
-+ let val result = MlyValue.typeQualifier (VOLATILE)
-+ in ( LrTable.NT 39, ( result, VOLATILE1left, VOLATILE1right), rest671
-+)
-+end
-+| ( 154, ( ( _, ( _, _, RCURLY1right)) :: ( _, (
-+MlyValue.trailingComma trailingComma, _, _)) :: ( _, (
-+MlyValue.enumeratorList enumeratorList, _, _)) :: _ :: ( _, ( _,
-+ENUM1left, _)) :: rest671)) => let val result =
-+MlyValue.enumSpecifier (
-+Enum{tagOpt=NONE, enumerators=seqToList enumeratorList, trailingComma=trailingComma}
-+)
-+ in ( LrTable.NT 42, ( result, ENUM1left, RCURLY1right), rest671)
-+end
-+| ( 155, ( ( _, ( _, _, RCURLY1right)) :: ( _, (
-+MlyValue.trailingComma trailingComma, _, _)) :: ( _, (
-+MlyValue.enumeratorList enumeratorList, _, _)) :: _ :: ( _, (
-+MlyValue.ID ID, _, _)) :: ( _, ( _, ENUM1left, _)) :: rest671)) => let
-+ val result = MlyValue.enumSpecifier (
-+Enum{tagOpt=SOME(ID), enumerators=seqToList enumeratorList, trailingComma=trailingComma}
-+)
-+ in ( LrTable.NT 42, ( result, ENUM1left, RCURLY1right), rest671)
-+end
-+| ( 156, ( ( _, ( _, _, RCURLY1right)) :: ( _, (
-+MlyValue.trailingComma trailingComma, _, _)) :: ( _, (
-+MlyValue.enumeratorList enumeratorList, _, _)) :: _ :: ( _, (
-+MlyValue.TYPE_NAME TYPE_NAME, _, _)) :: ( _, ( _, ENUM1left, _)) ::
-+rest671)) => let val result = MlyValue.enumSpecifier (
-+Enum{tagOpt=SOME(TYPE_NAME), enumerators=seqToList enumeratorList, trailingComma=trailingComma}
-+)
-+ in ( LrTable.NT 42, ( result, ENUM1left, RCURLY1right), rest671)
-+end
-+| ( 157, ( ( _, ( MlyValue.ID ID, _, ID1right)) :: ( _, ( _,
-+ENUM1left, _)) :: rest671)) => let val result =
-+MlyValue.enumSpecifier (EnumTag(ID))
-+ in ( LrTable.NT 42, ( result, ENUM1left, ID1right), rest671)
-+end
-+| ( 158, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, TYPE_NAME1right))
-+ :: ( _, ( _, ENUM1left, _)) :: rest671)) => let val result =
-+MlyValue.enumSpecifier (EnumTag(TYPE_NAME))
-+ in ( LrTable.NT 42, ( result, ENUM1left, TYPE_NAME1right), rest671)
-+
-+end
-+| ( 159, ( ( _, ( MlyValue.enumerator enumerator, _, enumerator1right
-+)) :: _ :: ( _, ( MlyValue.enumeratorList enumeratorList,
-+enumeratorList1left, _)) :: rest671)) => let val result =
-+MlyValue.enumeratorList (addToSeq(enumerator, enumeratorList))
-+ in ( LrTable.NT 12, ( result, enumeratorList1left, enumerator1right),
-+ rest671)
-+end
-+| ( 160, ( ( _, ( MlyValue.enumerator enumerator, enumerator1left,
-+enumerator1right)) :: rest671)) => let val result =
-+MlyValue.enumeratorList (
-+(TypeDefs.addNoTdef(#1(enumerator)));
-+ singletonSeq enumerator)
-+ in ( LrTable.NT 12, ( result, enumerator1left, enumerator1right),
-+rest671)
-+end
-+| ( 161, ( ( _, ( MlyValue.ID ID, ID1left, ID1right)) :: rest671)) =>
-+ let val result = MlyValue.enumerator ((ID,ParseTree.EmptyExpr))
-+ in ( LrTable.NT 13, ( result, ID1left, ID1right), rest671)
-+end
-+| ( 162, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, (
-+MlyValue.ID ID, ID1left, _)) :: rest671)) => let val result =
-+MlyValue.enumerator (ID,expr)
-+ in ( LrTable.NT 13, ( result, ID1left, expr1right), rest671)
-+end
-+| ( 163, ( ( _, ( _, EXTERN1left, EXTERN1right)) :: rest671)) => let
-+ val result = MlyValue.storageClassSpecifier (EXTERN)
-+ in ( LrTable.NT 35, ( result, EXTERN1left, EXTERN1right), rest671)
-+
-+end
-+| ( 164, ( ( _, ( _, STATIC1left, STATIC1right)) :: rest671)) => let
-+ val result = MlyValue.storageClassSpecifier (STATIC)
-+ in ( LrTable.NT 35, ( result, STATIC1left, STATIC1right), rest671)
-+
-+end
-+| ( 165, ( ( _, ( _, AUTO1left, AUTO1right)) :: rest671)) => let val
-+ result = MlyValue.storageClassSpecifier (AUTO)
-+ in ( LrTable.NT 35, ( result, AUTO1left, AUTO1right), rest671)
-+end
-+| ( 166, ( ( _, ( _, REGISTER1left, REGISTER1right)) :: rest671)) =>
-+ let val result = MlyValue.storageClassSpecifier (REGISTER)
-+ in ( LrTable.NT 35, ( result, REGISTER1left, REGISTER1right), rest671
-+)
-+end
-+| ( 167, ( ( _, ( _, TYPEDEF1left, TYPEDEF1right)) :: rest671)) =>
-+ let val result = MlyValue.storageClassSpecifier (TYPEDEF)
-+ in ( LrTable.NT 35, ( result, TYPEDEF1left, TYPEDEF1right), rest671)
-+
-+end
-+| ( 168, ( rest671)) => let val result = MlyValue.trailingComma (
-+false)
-+ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 169, ( ( _, ( _, COMMA1left, COMMA1right)) :: rest671)) => let
-+ val result = MlyValue.trailingComma (true)
-+ in ( LrTable.NT 11, ( result, COMMA1left, COMMA1right), rest671)
-+end
-+| ( 170, ( ( _, ( MlyValue.initDeclarator initDeclarator,
-+initDeclarator1left, initDeclarator1right)) :: rest671)) => let val
-+result = MlyValue.initDeclaratorList (singletonSeq initDeclarator)
-+ in ( LrTable.NT 18, ( result, initDeclarator1left,
-+initDeclarator1right), rest671)
-+end
-+| ( 171, ( ( _, ( MlyValue.initDeclarator initDeclarator, _,
-+initDeclarator1right)) :: _ :: ( _, ( MlyValue.initDeclaratorList
-+initDeclaratorList, initDeclaratorList1left, _)) :: rest671)) => let
-+ val result = MlyValue.initDeclaratorList (
-+addToSeq(initDeclarator, initDeclaratorList))
-+ in ( LrTable.NT 18, ( result, initDeclaratorList1left,
-+initDeclarator1right), rest671)
-+end
-+| ( 172, ( ( _, ( MlyValue.declarator declarator, declarator1left,
-+declarator1right)) :: rest671)) => let val result =
-+MlyValue.initDeclarator ((declarator,EmptyExpr))
-+ in ( LrTable.NT 16, ( result, declarator1left, declarator1right),
-+rest671)
-+end
-+| ( 173, ( ( _, ( MlyValue.initializer initializer, _,
-+initializer1right)) :: _ :: ( _, ( MlyValue.declarator declarator,
-+declarator1left, _)) :: rest671)) => let val result =
-+MlyValue.initDeclarator (declarator,initializer)
-+ in ( LrTable.NT 16, ( result, declarator1left, initializer1right),
-+rest671)
-+end
-+| ( 174, ( ( _, ( MlyValue.notypeInitDeclarator notypeInitDeclarator,
-+ notypeInitDeclarator1left, notypeInitDeclarator1right)) :: rest671))
-+ => let val result = MlyValue.notypeInitDeclaratorList (
-+singletonSeq notypeInitDeclarator)
-+ in ( LrTable.NT 19, ( result, notypeInitDeclarator1left,
-+notypeInitDeclarator1right), rest671)
-+end
-+| ( 175, ( ( _, ( MlyValue.initDeclarator initDeclarator, _,
-+initDeclarator1right)) :: _ :: ( _, (
-+MlyValue.notypeInitDeclaratorList notypeInitDeclaratorList,
-+notypeInitDeclaratorList1left, _)) :: rest671)) => let val result =
-+MlyValue.notypeInitDeclaratorList (
-+addToSeq(initDeclarator, notypeInitDeclaratorList))
-+ in ( LrTable.NT 19, ( result, notypeInitDeclaratorList1left,
-+initDeclarator1right), rest671)
-+end
-+| ( 176, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator,
-+notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
-+ val result = MlyValue.notypeInitDeclarator (
-+(notypeDeclarator,EmptyExpr))
-+ in ( LrTable.NT 17, ( result, notypeDeclarator1left,
-+notypeDeclarator1right), rest671)
-+end
-+| ( 177, ( ( _, ( MlyValue.initializer initializer, _,
-+initializer1right)) :: _ :: ( _, ( MlyValue.notypeDeclarator
-+notypeDeclarator, notypeDeclarator1left, _)) :: rest671)) => let val
-+result = MlyValue.notypeInitDeclarator (notypeDeclarator,initializer)
-+ in ( LrTable.NT 17, ( result, notypeDeclarator1left,
-+initializer1right), rest671)
-+end
-+| ( 178, ( ( _, ( MlyValue.aftertypeDeclarator aftertypeDeclarator,
-+aftertypeDeclarator1left, aftertypeDeclarator1right)) :: rest671)) =>
-+ let val result = MlyValue.declarator (aftertypeDeclarator)
-+ in ( LrTable.NT 21, ( result, aftertypeDeclarator1left,
-+aftertypeDeclarator1right), rest671)
-+end
-+| ( 179, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator,
-+notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
-+ val result = MlyValue.declarator (notypeDeclarator)
-+ in ( LrTable.NT 21, ( result, notypeDeclarator1left,
-+notypeDeclarator1right), rest671)
-+end
-+| ( 180, ( ( _, ( MlyValue.aftertypeDirectDeclarator
-+aftertypeDirectDeclarator, aftertypeDirectDeclarator1left,
-+aftertypeDirectDeclarator1right)) :: rest671)) => let val result =
-+MlyValue.aftertypeDeclarator (aftertypeDirectDeclarator)
-+ in ( LrTable.NT 22, ( result, aftertypeDirectDeclarator1left,
-+aftertypeDirectDeclarator1right), rest671)
-+end
-+| ( 181, ( ( _, ( MlyValue.aftertypeDirectDeclarator
-+aftertypeDirectDeclarator, _, aftertypeDirectDeclarator1right)) :: ( _
-+, ( MlyValue.pointer pointer, pointer1left, _)) :: rest671)) => let
-+ val result = MlyValue.aftertypeDeclarator (
-+applyPointer(pointer,aftertypeDirectDeclarator))
-+ in ( LrTable.NT 22, ( result, pointer1left,
-+aftertypeDirectDeclarator1right), rest671)
-+end
-+| ( 182, ( ( _, ( MlyValue.notypeDirectDeclarator
-+notypeDirectDeclarator, notypeDirectDeclarator1left,
-+notypeDirectDeclarator1right)) :: rest671)) => let val result =
-+MlyValue.notypeDeclarator (notypeDirectDeclarator)
-+ in ( LrTable.NT 23, ( result, notypeDirectDeclarator1left,
-+notypeDirectDeclarator1right), rest671)
-+end
-+| ( 183, ( ( _, ( MlyValue.notypeDirectDeclarator
-+notypeDirectDeclarator, _, notypeDirectDeclarator1right)) :: ( _, (
-+MlyValue.pointer pointer, pointer1left, _)) :: rest671)) => let val
-+result = MlyValue.notypeDeclarator (
-+applyPointer(pointer, notypeDirectDeclarator))
-+ in ( LrTable.NT 23, ( result, pointer1left,
-+notypeDirectDeclarator1right), rest671)
-+end
-+| ( 184, ( ( _, ( MlyValue.parmDirectDeclarator parmDirectDeclarator,
-+ parmDirectDeclarator1left, parmDirectDeclarator1right)) :: rest671))
-+ => let val result = MlyValue.parmDeclarator (parmDirectDeclarator)
-+ in ( LrTable.NT 24, ( result, parmDirectDeclarator1left,
-+parmDirectDeclarator1right), rest671)
-+end
-+| ( 185, ( ( _, ( MlyValue.parmDirectDeclarator parmDirectDeclarator,
-+ _, parmDirectDeclarator1right)) :: ( _, ( MlyValue.pointer pointer,
-+pointer1left, _)) :: rest671)) => let val result =
-+MlyValue.parmDeclarator (applyPointer(pointer, parmDirectDeclarator))
-+ in ( LrTable.NT 24, ( result, pointer1left,
-+parmDirectDeclarator1right), rest671)
-+end
-+| ( 186, ( ( _, ( _, TIMES1left, TIMES1right)) :: rest671)) => let
-+ val result = MlyValue.pointer (PointerDecr(EmptyDecr))
-+ in ( LrTable.NT 20, ( result, TIMES1left, TIMES1right), rest671)
-+end
-+| ( 187, ( ( _, ( MlyValue.typeQualifierList typeQualifierList, _,
-+typeQualifierList1right)) :: ( _, ( _, TIMES1left, _)) :: rest671)) =>
-+ let val result = MlyValue.pointer (
-+PointerDecr(loopQd(typeQualifierList,EmptyDecr)))
-+ in ( LrTable.NT 20, ( result, TIMES1left, typeQualifierList1right),
-+rest671)
-+end
-+| ( 188, ( ( _, ( MlyValue.pointer pointer, _, pointer1right)) :: ( _
-+, ( _, TIMES1left, _)) :: rest671)) => let val result =
-+MlyValue.pointer (PointerDecr(pointer))
-+ in ( LrTable.NT 20, ( result, TIMES1left, pointer1right), rest671)
-+
-+end
-+| ( 189, ( ( _, ( MlyValue.pointer pointer, _, pointer1right)) :: ( _
-+, ( MlyValue.typeQualifierList typeQualifierList, _, _)) :: ( _, ( _,
-+TIMES1left, _)) :: rest671)) => let val result = MlyValue.pointer (
-+PointerDecr(loopQd(typeQualifierList,pointer)))
-+ in ( LrTable.NT 20, ( result, TIMES1left, pointer1right), rest671)
-+
-+end
-+| ( 190, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, (TYPE_NAMEleft as
-+TYPE_NAME1left), (TYPE_NAMEright as TYPE_NAME1right))) :: rest671)) =>
-+ let val result = MlyValue.aftertypeDirectDeclarator (
-+markDeclarator srcMap (VarDecr TYPE_NAME,TYPE_NAMEleft,TYPE_NAMEright)
-+)
-+ in ( LrTable.NT 25, ( result, TYPE_NAME1left, TYPE_NAME1right),
-+rest671)
-+end
-+| ( 191, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.aftertypeDeclarator aftertypeDeclarator, _, _)) :: ( _, ( _,
-+LPAREN1left, _)) :: rest671)) => let val result =
-+MlyValue.aftertypeDirectDeclarator (aftertypeDeclarator)
-+ in ( LrTable.NT 25, ( result, LPAREN1left, RPAREN1right), rest671)
-+
-+end
-+| ( 192, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, (
-+MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator,
-+aftertypeDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.aftertypeDirectDeclarator (
-+ArrayDecr (aftertypeDirectDeclarator,EmptyExpr))
-+ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left,
-+RBRACE1right), rest671)
-+end
-+| ( 193, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
-+ _, _)) :: _ :: ( _, ( MlyValue.aftertypeDirectDeclarator
-+aftertypeDirectDeclarator, aftertypeDirectDeclarator1left, _)) ::
-+rest671)) => let val result = MlyValue.aftertypeDirectDeclarator (
-+ArrayDecr (aftertypeDirectDeclarator,expr))
-+ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left,
-+RBRACE1right), rest671)
-+end
-+| ( 194, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, (
-+MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator,
-+aftertypeDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.aftertypeDirectDeclarator (
-+FuncDecr (aftertypeDirectDeclarator,nil))
-+ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 195, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, (
-+MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator,
-+aftertypeDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.aftertypeDirectDeclarator (
-+FuncDecr (aftertypeDirectDeclarator,parameterTypeList))
-+ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 196, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.identlist
-+identlist, _, _)) :: _ :: ( _, ( MlyValue.aftertypeDirectDeclarator
-+aftertypeDirectDeclarator, aftertypeDirectDeclarator1left, _)) ::
-+rest671)) => let val result = MlyValue.aftertypeDirectDeclarator (
-+FuncDecr (aftertypeDirectDeclarator,
-+ map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
-+)
-+ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 197, ( ( _, ( MlyValue.ID ID, (IDleft as ID1left), (IDright as
-+ID1right))) :: rest671)) => let val result =
-+MlyValue.notypeDirectDeclarator (
-+markDeclarator srcMap (VarDecr ID,IDleft,IDright))
-+ in ( LrTable.NT 26, ( result, ID1left, ID1right), rest671)
-+end
-+| ( 198, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.notypeDeclarator notypeDeclarator, _, _)) :: ( _, ( _,
-+LPAREN1left, _)) :: rest671)) => let val result =
-+MlyValue.notypeDirectDeclarator (notypeDeclarator)
-+ in ( LrTable.NT 26, ( result, LPAREN1left, RPAREN1right), rest671)
-+
-+end
-+| ( 199, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, (
-+MlyValue.notypeDirectDeclarator notypeDirectDeclarator,
-+notypeDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.notypeDirectDeclarator (
-+ArrayDecr (notypeDirectDeclarator,EmptyExpr))
-+ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left,
-+RBRACE1right), rest671)
-+end
-+| ( 200, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
-+ _, _)) :: _ :: ( _, ( MlyValue.notypeDirectDeclarator
-+notypeDirectDeclarator, notypeDirectDeclarator1left, _)) :: rest671))
-+ => let val result = MlyValue.notypeDirectDeclarator (
-+ArrayDecr (notypeDirectDeclarator,expr))
-+ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left,
-+RBRACE1right), rest671)
-+end
-+| ( 201, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, (
-+MlyValue.notypeDirectDeclarator notypeDirectDeclarator,
-+notypeDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.notypeDirectDeclarator (FuncDecr (notypeDirectDeclarator,nil)
-+)
-+ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 202, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, (
-+MlyValue.notypeDirectDeclarator notypeDirectDeclarator,
-+notypeDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.notypeDirectDeclarator (
-+FuncDecr (notypeDirectDeclarator,parameterTypeList))
-+ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 203, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.identlist
-+identlist, _, _)) :: _ :: ( _, ( MlyValue.notypeDirectDeclarator
-+notypeDirectDeclarator, notypeDirectDeclarator1left, _)) :: rest671))
-+ => let val result = MlyValue.notypeDirectDeclarator (
-+FuncDecr (notypeDirectDeclarator,
-+ map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
-+)
-+ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 204, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, (TYPE_NAMEleft as
-+TYPE_NAME1left), (TYPE_NAMEright as TYPE_NAME1right))) :: rest671)) =>
-+ let val result = MlyValue.parmDirectDeclarator (
-+markDeclarator srcMap (VarDecr TYPE_NAME,TYPE_NAMEleft,TYPE_NAMEright)
-+)
-+ in ( LrTable.NT 27, ( result, TYPE_NAME1left, TYPE_NAME1right),
-+rest671)
-+end
-+| ( 205, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, (
-+MlyValue.parmDirectDeclarator parmDirectDeclarator,
-+parmDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.parmDirectDeclarator (
-+ArrayDecr (parmDirectDeclarator,EmptyExpr))
-+ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RBRACE1right
-+), rest671)
-+end
-+| ( 206, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
-+ _, _)) :: _ :: ( _, ( MlyValue.parmDirectDeclarator
-+parmDirectDeclarator, parmDirectDeclarator1left, _)) :: rest671)) =>
-+ let val result = MlyValue.parmDirectDeclarator (
-+ArrayDecr (parmDirectDeclarator,expr))
-+ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RBRACE1right
-+), rest671)
-+end
-+| ( 207, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, (
-+MlyValue.parmDirectDeclarator parmDirectDeclarator,
-+parmDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.parmDirectDeclarator (FuncDecr (parmDirectDeclarator,nil))
-+ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RPAREN1right
-+), rest671)
-+end
-+| ( 208, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, (
-+MlyValue.parmDirectDeclarator parmDirectDeclarator,
-+parmDirectDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.parmDirectDeclarator (
-+FuncDecr (parmDirectDeclarator,parameterTypeList))
-+ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RPAREN1right
-+), rest671)
-+end
-+| ( 209, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.identlist
-+identlist, _, _)) :: _ :: ( _, ( MlyValue.parmDirectDeclarator
-+parmDirectDeclarator, parmDirectDeclarator1left, _)) :: rest671)) =>
-+ let val result = MlyValue.parmDirectDeclarator (
-+FuncDecr (parmDirectDeclarator,
-+ map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
-+)
-+ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RPAREN1right
-+), rest671)
-+end
-+| ( 210, ( ( _, ( MlyValue.expr expr, expr1left, expr1right)) ::
-+rest671)) => let val result = MlyValue.initializer (expr)
-+ in ( LrTable.NT 33, ( result, expr1left, expr1right), rest671)
-+end
-+| ( 211, ( ( _, ( _, _, (RCURLYright as RCURLY1right))) :: _ :: ( _,
-+( MlyValue.initializerList initializerList, _, _)) :: ( _, ( _, (
-+LCURLYleft as LCURLY1left), _)) :: rest671)) => let val result =
-+MlyValue.initializer (
-+markExpression srcMap (InitList(seqToList initializerList),LCURLYleft,RCURLYright)
-+)
-+ in ( LrTable.NT 33, ( result, LCURLY1left, RCURLY1right), rest671)
-+
-+end
-+| ( 212, ( ( _, ( MlyValue.initializer initializer, initializer1left,
-+ initializer1right)) :: rest671)) => let val result =
-+MlyValue.initializerList (singletonSeq initializer)
-+ in ( LrTable.NT 34, ( result, initializer1left, initializer1right),
-+rest671)
-+end
-+| ( 213, ( ( _, ( MlyValue.initializer initializer, _,
-+initializer1right)) :: _ :: ( _, ( MlyValue.initializerList
-+initializerList, initializerList1left, _)) :: rest671)) => let val
-+result = MlyValue.initializerList (
-+addToSeq(initializer, initializerList))
-+ in ( LrTable.NT 34, ( result, initializerList1left, initializer1right
-+), rest671)
-+end
-+| ( 214, ( ( _, ( MlyValue.declaration declaration, (declarationleft
-+ as declaration1left), (declarationright as declaration1right))) ::
-+rest671)) => let val result = MlyValue.declarationList (
-+singletonSeq(markDeclaration srcMap (declaration,
-+ declarationleft,
-+ declarationright))
-+)
-+ in ( LrTable.NT 45, ( result, declaration1left, declaration1right),
-+rest671)
-+end
-+| ( 215, ( ( _, ( MlyValue.declaration declaration, declarationleft,
-+ (declarationright as declaration1right))) :: ( _, (
-+MlyValue.declarationList declarationList, declarationList1left, _)) ::
-+ rest671)) => let val result = MlyValue.declarationList (
-+addToSeq(markDeclaration srcMap (declaration,
-+ declarationleft,
-+ declarationright),
-+ declarationList)
-+)
-+ in ( LrTable.NT 45, ( result, declarationList1left, declaration1right
-+), rest671)
-+end
-+| ( 216, ( ( _, ( MlyValue.ID ID, (IDleft as ID1left), (IDright as
-+ID1right))) :: rest671)) => let val result = MlyValue.identlist (
-+singletonSeq (ID,IDleft,IDright))
-+ in ( LrTable.NT 46, ( result, ID1left, ID1right), rest671)
-+end
-+| ( 217, ( ( _, ( MlyValue.ID ID, IDleft, (IDright as ID1right))) ::
-+ _ :: ( _, ( MlyValue.identlist identlist, identlist1left, _)) ::
-+rest671)) => let val result = MlyValue.identlist (
-+addToSeq((ID,IDleft,IDright),identlist))
-+ in ( LrTable.NT 46, ( result, identlist1left, ID1right), rest671)
-+end
-+| ( 218, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator,
-+notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
-+ val result = MlyValue.fDefDeclaration (
-+insertFuncName(notypeDeclarator);
-+ TypeDefs.pushScope();
-+ insertFuncParams(notypeDeclarator);
-+ (unknown, notypeDeclarator)
-+)
-+ in ( LrTable.NT 44, ( result, notypeDeclarator1left,
-+notypeDeclarator1right), rest671)
-+end
-+| ( 219, ( ( _, ( MlyValue.declarator declarator, _, declarator1right
-+)) :: ( _, ( MlyValue.declarationSpecifiers declarationSpecifiers,
-+declarationSpecifiers1left, _)) :: rest671)) => let val result =
-+MlyValue.fDefDeclaration (
-+insertFuncName(declarator);
-+ TypeDefs.pushScope();
-+ insertFuncParams(declarator);
-+ (declarationSpecifiers, declarator)
-+)
-+ in ( LrTable.NT 44, ( result, declarationSpecifiers1left,
-+declarator1right), rest671)
-+end
-+| ( 220, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, _,
-+notypeDeclarator1right)) :: ( _, ( MlyValue.declarationModifiers
-+declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
-+ let val result = MlyValue.fDefDeclaration (
-+insertFuncName(notypeDeclarator);
-+ TypeDefs.pushScope();
-+ insertFuncParams(notypeDeclarator);
-+ (declarationModifiers, notypeDeclarator)
-+)
-+ in ( LrTable.NT 44, ( result, declarationModifiers1left,
-+notypeDeclarator1right), rest671)
-+end
-+| ( 221, ( ( _, ( MlyValue.compoundStatement compoundStatement, _,
-+compoundStatement1right)) :: ( _, ( MlyValue.fDefDeclaration
-+fDefDeclaration, fDefDeclaration1left, _)) :: rest671)) => let val
-+result = MlyValue.functionDefinition (
-+TypeDefs.popScope();
-+ FunctionDef
-+ {retType = #1 fDefDeclaration,
-+ funDecr = #2 fDefDeclaration,
-+ krParams = [],
-+ body = compoundStatement}
-+)
-+ in ( LrTable.NT 47, ( result, fDefDeclaration1left,
-+compoundStatement1right), rest671)
-+end
-+| ( 222, ( ( _, ( MlyValue.compoundStatement compoundStatement, _,
-+compoundStatement1right)) :: ( _, ( MlyValue.declarationList
-+declarationList, _, _)) :: ( _, ( MlyValue.fDefDeclaration
-+fDefDeclaration, fDefDeclaration1left, _)) :: rest671)) => let val
-+result = MlyValue.functionDefinition (
-+TypeDefs.popScope();
-+ FunctionDef
-+ {retType = #1 fDefDeclaration,
-+ funDecr = #2 fDefDeclaration,
-+ krParams = seqToList declarationList,
-+ body = compoundStatement}
-+)
-+ in ( LrTable.NT 47, ( result, fDefDeclaration1left,
-+compoundStatement1right), rest671)
-+end
-+| ( 223, ( ( _, ( MlyValue.pointer pointer, pointer1left,
-+pointer1right)) :: rest671)) => let val result =
-+MlyValue.abstractDeclarator (applyPointer (pointer, EmptyDecr))
-+ in ( LrTable.NT 14, ( result, pointer1left, pointer1right), rest671)
-+
-+end
-+| ( 224, ( ( _, ( MlyValue.directAbstractDeclarator
-+directAbstractDeclarator, directAbstractDeclarator1left,
-+directAbstractDeclarator1right)) :: rest671)) => let val result =
-+MlyValue.abstractDeclarator (directAbstractDeclarator)
-+ in ( LrTable.NT 14, ( result, directAbstractDeclarator1left,
-+directAbstractDeclarator1right), rest671)
-+end
-+| ( 225, ( ( _, ( MlyValue.directAbstractDeclarator
-+directAbstractDeclarator, _, directAbstractDeclarator1right)) :: ( _,
-+( MlyValue.pointer pointer, pointer1left, _)) :: rest671)) => let val
-+ result = MlyValue.abstractDeclarator (
-+applyPointer(pointer, directAbstractDeclarator))
-+ in ( LrTable.NT 14, ( result, pointer1left,
-+directAbstractDeclarator1right), rest671)
-+end
-+| ( 226, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.abstractDeclarator abstractDeclarator, _, _)) :: ( _, ( _,
-+LPAREN1left, _)) :: rest671)) => let val result =
-+MlyValue.directAbstractDeclarator (abstractDeclarator)
-+ in ( LrTable.NT 15, ( result, LPAREN1left, RPAREN1right), rest671)
-+
-+end
-+| ( 227, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _))
-+ :: rest671)) => let val result = MlyValue.directAbstractDeclarator (
-+ArrayDecr(EmptyDecr, EmptyExpr))
-+ in ( LrTable.NT 15, ( result, LBRACE1left, RBRACE1right), rest671)
-+
-+end
-+| ( 228, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
-+ _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val result
-+ = MlyValue.directAbstractDeclarator (ArrayDecr(EmptyDecr, expr))
-+ in ( LrTable.NT 15, ( result, LBRACE1left, RBRACE1right), rest671)
-+
-+end
-+| ( 229, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, (
-+MlyValue.directAbstractDeclarator directAbstractDeclarator,
-+directAbstractDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.directAbstractDeclarator (
-+ArrayDecr (directAbstractDeclarator,EmptyExpr))
-+ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left,
-+RBRACE1right), rest671)
-+end
-+| ( 230, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
-+ _, _)) :: _ :: ( _, ( MlyValue.directAbstractDeclarator
-+directAbstractDeclarator, directAbstractDeclarator1left, _)) ::
-+rest671)) => let val result = MlyValue.directAbstractDeclarator (
-+ArrayDecr (directAbstractDeclarator,expr))
-+ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left,
-+RBRACE1right), rest671)
-+end
-+| ( 231, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( _, LPAREN1left, _))
-+ :: rest671)) => let val result = MlyValue.directAbstractDeclarator (
-+FuncDecr (EmptyDecr ,nil))
-+ in ( LrTable.NT 15, ( result, LPAREN1left, RPAREN1right), rest671)
-+
-+end
-+| ( 232, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.parameterTypeList parameterTypeList, _, _)) :: ( _, ( _,
-+LPAREN1left, _)) :: rest671)) => let val result =
-+MlyValue.directAbstractDeclarator (
-+FuncDecr (EmptyDecr, parameterTypeList))
-+ in ( LrTable.NT 15, ( result, LPAREN1left, RPAREN1right), rest671)
-+
-+end
-+| ( 233, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, (
-+MlyValue.directAbstractDeclarator directAbstractDeclarator,
-+directAbstractDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.directAbstractDeclarator (
-+FuncDecr (directAbstractDeclarator,nil))
-+ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 234, ( ( _, ( _, _, RPAREN1right)) :: ( _, (
-+MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, (
-+MlyValue.directAbstractDeclarator directAbstractDeclarator,
-+directAbstractDeclarator1left, _)) :: rest671)) => let val result =
-+MlyValue.directAbstractDeclarator (
-+FuncDecr (directAbstractDeclarator, parameterTypeList))
-+ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left,
-+RPAREN1right), rest671)
-+end
-+| ( 235, ( ( _, ( MlyValue.parameterList parameterList,
-+parameterList1left, parameterList1right)) :: rest671)) => let val
-+result = MlyValue.parameterTypeList (seqToList parameterList)
-+ in ( LrTable.NT 52, ( result, parameterList1left, parameterList1right
-+), rest671)
-+end
-+| ( 236, ( ( _, ( _, _, ELIPSIS1right)) :: _ :: ( _, (
-+MlyValue.parameterList parameterList, parameterList1left, _)) ::
-+rest671)) => let val result = MlyValue.parameterTypeList (
-+let val decltype = {specifiers=[Ellipses],qualifiers=[],storage=[]}
-+ in (seqToList parameterList) @ [(decltype, EllipsesDecr)] end
-+)
-+ in ( LrTable.NT 52, ( result, parameterList1left, ELIPSIS1right),
-+rest671)
-+end
-+| ( 237, ( ( _, ( MlyValue.parameterDeclaration parameterDeclaration,
-+ (parameterDeclarationleft as parameterDeclaration1left), (
-+parameterDeclarationright as parameterDeclaration1right))) :: rest671)
-+) => let val result = MlyValue.parameterList (
-+singletonSeq(#1 parameterDeclaration,
-+ markDeclarator srcMap (#2 parameterDeclaration,
-+ parameterDeclarationleft,
-+ parameterDeclarationright))
-+)
-+ in ( LrTable.NT 51, ( result, parameterDeclaration1left,
-+parameterDeclaration1right), rest671)
-+end
-+| ( 238, ( ( _, ( MlyValue.parameterDeclaration parameterDeclaration,
-+ parameterDeclarationleft, (parameterDeclarationright as
-+parameterDeclaration1right))) :: _ :: ( _, ( MlyValue.parameterList
-+parameterList, parameterList1left, _)) :: rest671)) => let val result
-+ = MlyValue.parameterList (
-+addToSeq((#1 parameterDeclaration,
-+ markDeclarator
-+ srcMap
-+ (#2 parameterDeclaration,
-+ parameterDeclarationleft,
-+ parameterDeclarationright)),
-+ parameterList)
-+)
-+ in ( LrTable.NT 51, ( result, parameterList1left,
-+parameterDeclaration1right), rest671)
-+end
-+| ( 239, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, _,
-+notypeDeclarator1right)) :: ( _, ( MlyValue.declarationSpecifiers
-+declarationSpecifiers, declarationSpecifiers1left, _)) :: rest671)) =>
-+ let val result = MlyValue.parameterDeclaration (
-+(declarationSpecifiers, notypeDeclarator))
-+ in ( LrTable.NT 53, ( result, declarationSpecifiers1left,
-+notypeDeclarator1right), rest671)
-+end
-+| ( 240, ( ( _, ( MlyValue.parmDeclarator parmDeclarator, _,
-+parmDeclarator1right)) :: ( _, ( MlyValue.declarationSpecifiers
-+declarationSpecifiers, declarationSpecifiers1left, _)) :: rest671)) =>
-+ let val result = MlyValue.parameterDeclaration (
-+(declarationSpecifiers, parmDeclarator))
-+ in ( LrTable.NT 53, ( result, declarationSpecifiers1left,
-+parmDeclarator1right), rest671)
-+end
-+| ( 241, ( ( _, ( MlyValue.declarationSpecifiers
-+declarationSpecifiers, declarationSpecifiers1left,
-+declarationSpecifiers1right)) :: rest671)) => let val result =
-+MlyValue.parameterDeclaration ((declarationSpecifiers, EmptyDecr))
-+ in ( LrTable.NT 53, ( result, declarationSpecifiers1left,
-+declarationSpecifiers1right), rest671)
-+end
-+| ( 242, ( ( _, ( MlyValue.abstractDeclarator abstractDeclarator, _,
-+abstractDeclarator1right)) :: ( _, ( MlyValue.declarationSpecifiers
-+declarationSpecifiers, declarationSpecifiers1left, _)) :: rest671)) =>
-+ let val result = MlyValue.parameterDeclaration (
-+(declarationSpecifiers, abstractDeclarator))
-+ in ( LrTable.NT 53, ( result, declarationSpecifiers1left,
-+abstractDeclarator1right), rest671)
-+end
-+| ( 243, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, _,
-+notypeDeclarator1right)) :: ( _, ( MlyValue.declarationModifiers
-+declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
-+ let val result = MlyValue.parameterDeclaration (
-+(declarationModifiers, notypeDeclarator))
-+ in ( LrTable.NT 53, ( result, declarationModifiers1left,
-+notypeDeclarator1right), rest671)
-+end
-+| ( 244, ( ( _, ( MlyValue.abstractDeclarator abstractDeclarator, _,
-+abstractDeclarator1right)) :: ( _, ( MlyValue.declarationModifiers
-+declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
-+ let val result = MlyValue.parameterDeclaration (
-+(declarationModifiers, abstractDeclarator))
-+ in ( LrTable.NT 53, ( result, declarationModifiers1left,
-+abstractDeclarator1right), rest671)
-+end
-+| ( 245, ( rest671)) => let val result = MlyValue.pushScope (
-+TypeDefs.pushScope())
-+ in ( LrTable.NT 61, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 246, ( rest671)) => let val result = MlyValue.popScope (
-+TypeDefs.popScope())
-+ in ( LrTable.NT 62, ( result, defaultPos, defaultPos), rest671)
-+end
-+| _ => raise (mlyAction i392)
-+end
-+val void = MlyValue.VOID'
-+val extract = fn a => (fn MlyValue.translationUnit x => x
-+| _ => let exception ParseInternal
-+ in raise ParseInternal end) a
-+end
-+end
-+structure Tokens : C_TOKENS =
-+struct
-+type svalue = ParserData.svalue
-+type ('a,'b) token = ('a,'b) Token.token
-+fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LCURLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun RCURLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun QUESTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun PERCENT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun AMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun TILDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DIVIDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun PLUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun MINUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun HAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun BANG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun TIMES (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun INC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DEC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
-+ParserData.MlyValue.ID i,p1,p2))
-+fun EQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun PLUSEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun MINUSEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun XOREQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun MODEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun TIMESEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DIVEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun OREQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun ANDEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LSHIFTEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun RSHIFTEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun GTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun GT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun EQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun NEQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun OR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun RSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DECNUM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
-+ParserData.MlyValue.DECNUM i,p1,p2))
-+fun REALNUM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
-+ParserData.MlyValue.REALNUM i,p1,p2))
-+fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
-+ParserData.MlyValue.STRING i,p1,p2))
-+fun CCONST (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
-+ParserData.MlyValue.CCONST i,p1,p2))
-+fun EXTERN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun AUTO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun STATIC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun REGISTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun VOLATILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun IF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun THEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun ELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun SWITCH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun CASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun WHILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun RETURN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun BREAK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun CONTINUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun GOTO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun CHAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun DOUBLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun ENUM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun FLOAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun INT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun LONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun SHORT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun FRACTIONAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun SATURATE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun UNION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun UNSIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 81,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun SIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 82,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun VOID (p1,p2) = Token.TOKEN (ParserData.LrTable.T 83,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun SIZEOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 84,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun TYPEDEF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 85,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun UNARY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 86,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun ELIPSIS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 87,(
-+ParserData.MlyValue.VOID',p1,p2))
-+fun TYPE_NAME (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 88,(
-+ParserData.MlyValue.TYPE_NAME i,p1,p2))
-+end
-+end
+ (srcMap):arg) =>
+ case (i392,stack)
+ of ( 0, ( ( _, ( MlyValue.tu tu, tu1left, tu1right)) :: rest671)) =>
diff -Naur ckit/src/parser/grammar/c.lex.sml ckit-mlton/src/parser/grammar/c.lex.sml
---- ckit/src/parser/grammar/c.lex.sml 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.lex.sml 2005-08-18 12:23:55.000000000 -0400
-@@ -0,0 +1,1053 @@
+--- ckit/src/parser/grammar/c.lex.sml 2005-11-21 11:29:21.000000000 -0500
++++ ckit-mlton/src/parser/grammar/c.lex.sml 2005-11-21 11:29:21.000000000 -0500
+@@ -1,3 +1,4 @@
+type int = Int.int
-+functor CLexFun(structure Tokens : C_TOKENS
-+ structure TokTable : TOKENTABLE
-+ sharing TokTable.Tokens = Tokens)=
-+ struct
-+ structure UserDeclarations =
-+ struct
-+(* Copyright (c) 1998 by Lucent Technologies *)
-+
-+(*
-+ * The following replacement for c.lex should give correct (ANSI)
-+ * In particular, we don't allow
-+ *
-+ * char *t = "abd
-+ * lkj";
-+ *
-+ * GCC accepts this, but SGI cc does not. This program is not ANSI
-+ * compliant.
-+ *)
-+
-+type svalue = Tokens.svalue
-+type pos = int
-+type lexresult = (svalue,pos) Tokens.token
-+type errWarn = {err: pos*pos*string->unit, warn: pos*pos*string->unit}
-+type lexarg = {comLevel : int ref,
-+ sourceMap : SourceMap.sourcemap,
-+ charlist : string list ref,
-+ stringstart : int ref, (* start of current string or comment*)
-+ errWarn: errWarn}
-+
-+type arg = lexarg
-+type ('a,'b) token = ('a,'b) Tokens.token
-+
-+fun ordof (s, i) = Char.ord (String.sub (s, i))
-+fun dec (iRef : int ref) = iRef := (!iRef) - 1
-+fun inc (iRef : int ref) = iRef := (!iRef) + 1
-+fun chr i = String.str(Char.chr i)
-+fun ord s = Char.ord(String.sub(s, 0))
-+fun explode s = CharVector.foldr (fn (c, l) => str c :: l) [] s
-+fun implode strList = String.concat strList
-+fun hd [] = (print "c.lex: hd of empty\n";
-+ raise Empty)
-+ | hd (h :: l) = h
-+
-+val eof = fn ({comLevel,errWarn,sourceMap,stringstart,charlist}:lexarg) =>
-+ let val pos = Int.max(!stringstart+2, SourceMap.currPos sourceMap)
-+ in if !comLevel>0 then (#err errWarn) (!stringstart,pos, "unclosed comment" )
-+ else ();
-+ Tokens.EOF(pos,pos)
-+ end
-+fun addString (charlist,s:string) = charlist := s :: (!charlist)
-+fun makeString charlist = (implode(rev(!charlist)) before charlist := nil)
-+
-+fun mkHexInt (s,a,b,errWarn:errWarn)=((case (StringCvt.scanString (LargeInt.scan StringCvt.HEX) s) of
-+ SOME i => i
-+ | _ => ((#err errWarn)(a,b,"trouble in parsing int");Int.toLarge(0)))
-+ handle OverFlow => ((#err errWarn)(a,b,"large int const");Int.toLarge(0)))
-+
-+fun mkHexChar (args as (s, a, b, errWarn:errWarn)) : int (* returns a character sized integer *) =
-+ let val i = mkHexInt args
-+ in
-+ if (i>255) then
-+ ((#warn errWarn) (a,b,"overflow in hexadecimal escape sequence");
-+ IntInf.toInt(i mod 256))
-+ else
-+ IntInf.toInt i
-+ end
-+
-+fun mkOctInt (s,a,b,errWarn:errWarn)
-+ = ((case (StringCvt.scanString (LargeInt.scan StringCvt.OCT) s) of
-+ SOME i => i
-+ | _ => ((#err errWarn)(a,b,"trouble in parsing int");Int.toLarge(0)))
-+ handle OverFlow => ((#err errWarn)(a,b,"large int const");Int.toLarge(0)))
-+
-+
-+fun mkOctChar (args as (s, a, b, errWarn:errWarn)) (* returns a character sized integer *) =
-+ let val i = mkOctInt args
-+ in
-+ if (i>255) then
-+ ((#warn errWarn) (a,b,"overflow in octal escape sequence");
-+ IntInf.toInt(i mod 256))
-+ else
-+ IntInf.toInt i
-+ end
-+
-+fun mkInt (s,a,b,errWarn:errWarn) = ((case (StringCvt.scanString (LargeInt.scan StringCvt.DEC) s) of
-+ SOME i => i
-+ | _ => ((#err errWarn)(a,b,"trouble in parsing int");Int.toLarge(0)))
-+ handle OverFlow => ((#err errWarn)(a,b,"large int const");Int.toLarge(0)))
-+
-+fun mkRealNum (s,a,b,errWarn:errWarn) = ((case (StringCvt.scanString Real.scan s) of
-+ SOME r => r
-+ | _ => ((#err errWarn)(a,b,"trouble in parsing real");0.0))
-+ handle OverFlow => ((#err errWarn)(a,b,"large real const"); 0.0))
-+
-+val backslasha = 7
-+
-+fun special_char(c,fst,last,errWarn:errWarn) =
-+ (case c of
-+ "\\a" => 7
-+ | "\\b" => 8
-+ | "\\f" => 12
-+ | "\\n" => 10
-+ | "\\r" => 13
-+ | "\\t" => 9
-+ | "\\v" => 11
-+ | _ => ordof(c,1)
-+ (* strictly speaking, should only handle
-+ \?, \\, \", \', but it is common
-+ to simply ignore slash, and just use next char *)
-+ )
-+
-+
-+(* Notes on lexer states:
-+ INITIAL -- predefined start state and the default token state
-+ S -- inside a string (entered from INTITAL with ")
-+ C -- inside a comment (entered from INITIAL with /* )
-+ *)
-+
-+
-+end (* end of user routines *)
-+exception LexError (* raised if illegal leaf action tried *)
-+structure Internal =
-+ struct
-+
-+datatype yyfinstate = N of int
-+type statedata = {fin : yyfinstate list, trans: string}
-+(* transition & final state table *)
-+val tab = let
-+val s = [
-+ (0,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (1,
-+"\007\007\007\007\007\007\007\007\007\095\097\007\095\007\007\007\
-+\\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
-+\\095\093\092\007\007\090\087\073\072\071\069\066\065\061\057\054\
-+\\044\033\033\033\033\033\033\033\033\033\032\031\027\025\021\020\
-+\\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\019\007\018\016\014\
-+\\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\013\010\009\008\007\
-+\\007"
-+),
-+ (2,
-+"\007\007\007\007\007\007\007\007\007\101\097\007\101\007\007\007\
-+\\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
-+\\101\093\092\098\007\090\087\073\072\071\069\066\065\061\057\054\
-+\\044\033\033\033\033\033\033\033\033\033\032\031\027\025\021\020\
-+\\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\019\007\018\016\014\
-+\\007\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\013\010\009\008\007\
-+\\007"
-+),
-+ (3,
-+"\103\103\103\103\103\103\103\103\103\106\097\103\106\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\106\103\103\103\103\103\103\103\103\103\104\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103"
-+),
-+ (4,
-+"\103\103\103\103\103\103\103\103\103\108\097\103\108\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\108\103\103\107\103\103\103\103\103\103\104\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
-+\\103"
-+),
-+ (5,
-+"\109\109\109\109\109\109\109\109\109\109\122\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\121\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\110\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109"
-+),
-+ (10,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\011\000\000\000\
-+\\000"
-+),
-+ (14,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\015\015\015\015\015\015\015\015\015\015\000\000\000\000\000\000\
-+\\000\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
-+\\015\015\015\015\015\015\015\015\015\015\015\000\000\000\000\015\
-+\\000\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
-+\\015\015\015\015\015\015\015\015\015\015\015\000\000\000\000\000\
-+\\000"
-+),
-+ (16,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (21,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\024\022\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (22,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (25,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\026\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (27,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\029\028\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (29,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (33,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\042\000\
-+\\041\041\041\041\041\041\041\041\041\041\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
-+\\000\000\000\000\000\034\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
-+\\000\000\000\000\000\034\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (34,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\035\000\000\000\
-+\\000\000\000\000\000\035\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\035\000\000\000\
-+\\000\000\000\000\000\035\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (37,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\040\000\040\000\000\
-+\\038\038\038\038\038\038\038\038\038\038\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (38,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\038\038\038\038\038\038\038\038\038\038\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (40,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\038\038\038\038\038\038\038\038\038\038\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (42,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\043\043\043\043\043\043\043\043\043\043\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (43,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\043\043\043\043\043\043\043\043\043\043\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (44,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\042\000\
-+\\050\050\050\050\050\050\050\050\049\049\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
-+\\000\000\000\000\000\034\000\000\045\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
-+\\000\000\000\000\000\034\000\000\045\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (45,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\000\
-+\\000\046\046\046\046\046\046\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\046\046\046\046\046\046\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (46,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\000\
-+\\000\046\046\046\046\046\046\000\000\000\000\000\047\000\000\000\
-+\\000\000\000\000\000\047\000\000\000\000\000\000\000\000\000\000\
-+\\000\046\046\046\046\046\046\000\000\000\000\000\047\000\000\000\
-+\\000\000\000\000\000\047\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (47,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\048\000\000\000\
-+\\000\000\000\000\000\048\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\048\000\000\000\
-+\\000\000\000\000\000\048\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (49,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\042\000\
-+\\049\049\049\049\049\049\049\049\049\049\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (50,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\042\000\
-+\\050\050\050\050\050\050\050\050\049\049\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\053\000\000\000\
-+\\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\053\000\000\000\
-+\\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (51,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\052\000\000\000\
-+\\000\000\000\000\000\052\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\052\000\000\000\
-+\\000\000\000\000\000\052\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (54,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\056\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\055\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (57,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\059\000\
-+\\058\058\058\058\058\058\058\058\058\058\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (58,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\058\058\058\058\058\058\058\058\058\058\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\037\000\000\000\000\000\000\039\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (59,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\060\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (61,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\064\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\063\062\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (66,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\068\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\067\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (69,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\070\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (73,
-+"\074\074\074\074\074\074\074\074\074\074\000\074\074\074\074\074\
-+\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
-+\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
-+\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
-+\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
-+\\074\074\074\074\074\074\074\074\074\074\074\074\076\074\074\074\
-+\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
-+\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
-+\\074"
-+),
-+ (74,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\075\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (76,
-+"\077\077\077\077\077\077\077\077\077\077\000\077\077\077\077\077\
-+\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
-+\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
-+\\082\082\082\082\082\082\082\082\077\077\077\077\077\077\077\077\
-+\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
-+\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
-+\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
-+\\077\077\077\077\077\077\077\077\079\077\077\077\077\077\077\077\
-+\\077"
-+),
-+ (77,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\078\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (79,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\078\000\000\000\000\000\000\000\000\
-+\\080\080\080\080\080\080\080\080\080\080\000\000\000\000\000\000\
-+\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (80,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\081\000\000\000\000\000\000\000\000\
-+\\080\080\080\080\080\080\080\080\080\080\000\000\000\000\000\000\
-+\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (82,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\086\000\000\000\000\000\000\000\000\
-+\\083\083\083\083\083\083\083\083\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (83,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\085\000\000\000\000\000\000\000\000\
-+\\084\084\084\084\084\084\084\084\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (84,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\085\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (87,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\088\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (90,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\091\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (93,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\094\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (95,
-+"\000\000\000\000\000\000\000\000\000\096\000\000\096\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\096\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (98,
-+"\099\099\099\099\099\099\099\099\099\099\100\099\099\099\099\099\
-+\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
-+\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
-+\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
-+\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
-+\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
-+\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
-+\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
-+\\099"
-+),
-+ (101,
-+"\000\000\000\000\000\000\000\000\000\102\000\000\102\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\102\000\000\099\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (104,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\105\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (109,
-+"\109\109\109\109\109\109\109\109\109\109\000\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\000\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\000\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
-+\\109"
-+),
-+ (110,
-+"\111\111\111\111\111\111\111\111\111\111\120\111\111\111\111\111\
-+\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
-+\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
-+\\119\116\116\116\116\116\116\116\111\111\111\111\111\111\111\111\
-+\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
-+\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\114\111\
-+\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
-+\\111\111\111\111\111\111\111\111\112\111\111\111\111\111\111\111\
-+\\111"
-+),
-+ (112,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\113\113\113\113\113\113\113\113\113\113\000\000\000\000\000\000\
-+\\000\113\113\113\113\113\113\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\113\113\113\113\113\113\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (114,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\
-+\\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (116,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\117\117\117\117\117\117\117\117\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+ (117,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\118\118\118\118\118\118\118\118\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000"
-+),
-+(0, "")]
-+fun f x = x
-+val s = map f (rev (tl (rev s)))
-+exception LexHackingError
+ functor CLexFun(structure Tokens : C_TOKENS
+ structure TokTable : TOKENTABLE
+ sharing TokTable.Tokens = Tokens)=
+@@ -758,7 +759,7 @@
+ fun f x = x
+ val s = map f (rev (tl (rev s)))
+ exception LexHackingError
+-fun look ((j,x)::r, i: int) = if i = j then x else look(r, i)
+fun look ((j,x)::r, i) = if i = j then x else look(r, i)
-+ | look ([], i) = raise LexHackingError
-+fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
-+in Vector.fromList(map g
-+[{fin = [], trans = 0},
-+{fin = [(N 10)], trans = 1},
-+{fin = [(N 10)], trans = 2},
-+{fin = [(N 10)], trans = 3},
-+{fin = [(N 10)], trans = 4},
-+{fin = [(N 26)], trans = 5},
-+{fin = [(N 26)], trans = 5},
-+{fin = [(N 227)], trans = 0},
-+{fin = [(N 96),(N 227)], trans = 0},
-+{fin = [(N 65),(N 227)], trans = 0},
-+{fin = [(N 100),(N 227)], trans = 10},
-+{fin = [(N 157)], trans = 0},
-+{fin = [(N 136)], trans = 0},
-+{fin = [(N 63),(N 227)], trans = 0},
-+{fin = [(N 225),(N 227)], trans = 14},
-+{fin = [(N 225)], trans = 14},
-+{fin = [(N 79),(N 227)], trans = 16},
-+{fin = [(N 124)], trans = 0},
-+{fin = [(N 61),(N 227)], trans = 0},
-+{fin = [(N 59),(N 227)], trans = 0},
-+{fin = [(N 98),(N 227)], trans = 0},
-+{fin = [(N 151),(N 227)], trans = 21},
-+{fin = [(N 166)], trans = 22},
-+{fin = [(N 147)], trans = 0},
-+{fin = [(N 110)], trans = 0},
-+{fin = [(N 115),(N 227)], trans = 25},
-+{fin = [(N 113)], trans = 0},
-+{fin = [(N 149),(N 227)], trans = 27},
-+{fin = [(N 107)], trans = 0},
-+{fin = [(N 163)], trans = 29},
-+{fin = [(N 143)], trans = 0},
-+{fin = [(N 53),(N 227)], trans = 0},
-+{fin = [(N 51),(N 227)], trans = 0},
-+{fin = [(N 185),(N 199),(N 227)], trans = 33},
-+{fin = [(N 185)], trans = 34},
-+{fin = [(N 185)], trans = 0},
-+{fin = [(N 185),(N 199)], trans = 34},
-+{fin = [], trans = 37},
-+{fin = [(N 199)], trans = 38},
-+{fin = [(N 199)], trans = 0},
-+{fin = [], trans = 40},
-+{fin = [(N 185),(N 199)], trans = 33},
-+{fin = [], trans = 42},
-+{fin = [(N 199)], trans = 43},
-+{fin = [(N 185),(N 199),(N 227)], trans = 44},
-+{fin = [], trans = 45},
-+{fin = [(N 179)], trans = 46},
-+{fin = [(N 179)], trans = 47},
-+{fin = [(N 179)], trans = 0},
-+{fin = [(N 199)], trans = 49},
-+{fin = [(N 172),(N 199)], trans = 50},
-+{fin = [(N 172)], trans = 51},
-+{fin = [(N 172)], trans = 0},
-+{fin = [(N 172),(N 199)], trans = 51},
-+{fin = [(N 94),(N 227)], trans = 54},
-+{fin = [(N 133)], trans = 0},
-+{fin = [(N 13)], trans = 0},
-+{fin = [(N 67),(N 227)], trans = 57},
-+{fin = [(N 199)], trans = 58},
-+{fin = [], trans = 59},
-+{fin = [(N 71)], trans = 0},
-+{fin = [(N 83),(N 227)], trans = 61},
-+{fin = [(N 92)], trans = 0},
-+{fin = [(N 121)], trans = 0},
-+{fin = [(N 89)], trans = 0},
-+{fin = [(N 73),(N 227)], trans = 0},
-+{fin = [(N 81),(N 227)], trans = 66},
-+{fin = [(N 118)], trans = 0},
-+{fin = [(N 86)], trans = 0},
-+{fin = [(N 75),(N 227)], trans = 69},
-+{fin = [(N 130)], trans = 0},
-+{fin = [(N 57),(N 227)], trans = 0},
-+{fin = [(N 55),(N 227)], trans = 0},
-+{fin = [(N 227)], trans = 73},
-+{fin = [], trans = 74},
-+{fin = [(N 217)], trans = 0},
-+{fin = [], trans = 76},
-+{fin = [], trans = 77},
-+{fin = [(N 222)], trans = 0},
-+{fin = [], trans = 79},
-+{fin = [], trans = 80},
-+{fin = [(N 213)], trans = 0},
-+{fin = [], trans = 82},
-+{fin = [], trans = 83},
-+{fin = [], trans = 84},
-+{fin = [(N 206)], trans = 0},
-+{fin = [(N 206),(N 222)], trans = 0},
-+{fin = [(N 102),(N 227)], trans = 87},
-+{fin = [(N 139)], trans = 0},
-+{fin = [(N 160)], trans = 0},
-+{fin = [(N 104),(N 227)], trans = 90},
-+{fin = [(N 127)], trans = 0},
-+{fin = [(N 20),(N 227)], trans = 0},
-+{fin = [(N 77),(N 227)], trans = 93},
-+{fin = [(N 154)], trans = 0},
-+{fin = [(N 10),(N 227)], trans = 95},
-+{fin = [(N 10)], trans = 95},
-+{fin = [(N 7)], trans = 0},
-+{fin = [(N 227)], trans = 98},
-+{fin = [], trans = 98},
-+{fin = [(N 5)], trans = 0},
-+{fin = [(N 10),(N 227)], trans = 101},
-+{fin = [(N 10)], trans = 101},
-+{fin = [(N 18)], trans = 0},
-+{fin = [(N 18)], trans = 104},
-+{fin = [(N 16)], trans = 0},
-+{fin = [(N 10),(N 18)], trans = 95},
-+{fin = [(N 18)], trans = 98},
-+{fin = [(N 10),(N 18)], trans = 101},
-+{fin = [(N 26)], trans = 109},
-+{fin = [], trans = 110},
-+{fin = [(N 49)], trans = 0},
-+{fin = [(N 49)], trans = 112},
-+{fin = [(N 42)], trans = 112},
-+{fin = [(N 49)], trans = 114},
-+{fin = [(N 46)], trans = 0},
-+{fin = [(N 49)], trans = 116},
-+{fin = [], trans = 117},
-+{fin = [(N 37)], trans = 0},
-+{fin = [(N 32),(N 49)], trans = 116},
-+{fin = [(N 29)], trans = 0},
-+{fin = [(N 22)], trans = 0},
-+{fin = [(N 24)], trans = 0}])
-+end
-+structure StartStates =
-+ struct
-+ datatype yystartstate = STARTSTATE of int
-+
-+(* start state definitions *)
-+
-+val C = STARTSTATE 3;
-+val INITIAL = STARTSTATE 1;
-+val S = STARTSTATE 5;
-+
-+end
-+type result = UserDeclarations.lexresult
-+ exception LexerError (* raised if illegal leaf action tried *)
-+end
-+
+ | look ([], i) = raise LexHackingError
+ fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
+ in Vector.fromList(map g
+@@ -901,28 +902,29 @@
+ exception LexerError (* raised if illegal leaf action tried *)
+ end
+
+-fun makeLexer yyinput =
+-let val yygone0=1
+type int = Int.int
+fun makeLexer (yyinput: int -> string) =
+let val yygone0:int= ~1
-+ val yyb = ref "\n" (* buffer *)
+ val yyb = ref "\n" (* buffer *)
+- val yybl = ref 1 (*buffer length *)
+- val yybufpos = ref 1 (* location of next character to use *)
+- val yygone = ref yygone0 (* position in file of beginning of buffer *)
+ val yybl: int ref = ref 1 (*buffer length *)
+ val yybufpos: int ref = ref 1 (* location of next character to use *)
+ val yygone: int ref = ref yygone0 (* position in file of beginning of buffer *)
-+ val yydone = ref false (* eof found yet? *)
+ val yydone = ref false (* eof found yet? *)
+- val yybegin = ref 1 (*Current 'start state' for lexer *)
+ val yybegin: int ref = ref 1 (*Current 'start state' for lexer *)
-+
-+ val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
-+ yybegin := x
-+
-+fun lex (yyarg as ({comLevel,errWarn,sourceMap,charlist,stringstart})) =
-+let fun continue() : Internal.result =
+
+ val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
+ yybegin := x
+
+ fun lex (yyarg as ({comLevel,errWarn,sourceMap,charlist,stringstart})) =
+ let fun continue() : Internal.result =
+- let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
+- let fun action (i,nil) = raise LexError
+ let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0: int) =
+ let fun action (i: int,nil) = raise LexError
-+ | action (i,nil::l) = action (i-1,l)
-+ | action (i,(node::acts)::l) =
-+ case node of
-+ Internal.N yyk =>
+ | action (i,nil::l) = action (i-1,l)
+ | action (i,(node::acts)::l) =
+ case node of
+ Internal.N yyk =>
+- (let fun yymktext() = substring(!yyb,i0,i-i0)
+- val yypos = i0+ !yygone
+ (let fun yymktext() = String.substring(!yyb,i0,i-i0)
+ val yypos: int = i0+ !yygone
-+ open UserDeclarations Internal.StartStates
-+ in (yybufpos := i; case yyk of
-+
-+ (* Application actions *)
-+
-+ 10 => (continue())
-+| 100 => (Tokens.BAR(yypos,yypos+1))
-+| 102 => (Tokens.AMP(yypos,yypos+1))
-+| 104 => (Tokens.PERCENT(yypos,yypos+1))
-+| 107 => (Tokens.LTE(yypos,yypos+2))
-+| 110 => (Tokens.GTE(yypos,yypos+2))
-+| 113 => (Tokens.EQ(yypos,yypos+2))
-+| 115 => (Tokens.EQUALS(yypos,yypos+1))
-+| 118 => (Tokens.PLUSEQUALS(yypos,yypos+2))
-+| 121 => (Tokens.MINUSEQUALS(yypos,yypos+2))
-+| 124 => (Tokens.XOREQUALS(yypos,yypos+2))
-+| 127 => (Tokens.MODEQUALS(yypos,yypos+2))
-+| 13 => (YYBEGIN C; continue())
-+| 130 => (Tokens.TIMESEQUALS(yypos,yypos+2))
-+| 133 => (Tokens.DIVEQUALS(yypos,yypos+2))
-+| 136 => (Tokens.OREQUALS(yypos,yypos+2))
-+| 139 => (Tokens.ANDEQUALS(yypos,yypos+2))
-+| 143 => (Tokens.LSHIFTEQUALS(yypos,yypos+3))
-+| 147 => (Tokens.RSHIFTEQUALS(yypos,yypos+3))
-+| 149 => (Tokens.LT(yypos,yypos+1))
-+| 151 => (Tokens.GT(yypos,yypos+1))
-+| 154 => (Tokens.NEQ(yypos,yypos+2))
-+| 157 => (Tokens.OR(yypos,yypos+2))
-+| 16 => (YYBEGIN INITIAL; continue())
-+| 160 => (Tokens.AND(yypos,yypos+2))
-+| 163 => (Tokens.LSHIFT(yypos,yypos+2))
-+| 166 => (Tokens.RSHIFT(yypos,yypos+2))
-+| 172 => let val yytext=yymktext() in Tokens.DECNUM(mkOctInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)) end
-+| 179 => let val yytext=yymktext() in Tokens.DECNUM(mkHexInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)) end
-+| 18 => (continue())
-+| 185 => let val yytext=yymktext() in Tokens.DECNUM(mkInt (yytext,yypos,yypos+size(yytext),errWarn), yypos,yypos+size(yytext)) end
-+| 199 => let val yytext=yymktext() in Tokens.REALNUM(mkRealNum(yytext,yypos,yypos+size(yytext),errWarn), yypos, yypos
-++ size(yytext)) end
-+| 20 => (charlist := [""]; stringstart := yypos; YYBEGIN S; continue())
-+| 206 => let val yytext=yymktext() in let val s = substring(yytext, 2, size(yytext)-3)
-+ in Tokens.CCONST(IntInf.fromInt (mkOctChar(s,yypos,yypos+size(yytext),errWarn)),
-+ yypos,
-+ yypos+size(yytext))
-+ end end
-+| 213 => let val yytext=yymktext() in let val s = substring(yytext, 3, size(yytext)-4)
-+ in Tokens.CCONST(IntInf.fromInt (mkHexChar(s,yypos,yypos+size(yytext),errWarn)),
-+ yypos,
-+ yypos+size(yytext))
-+ end end
-+| 217 => let val yytext=yymktext() in let val cval = ordof(yytext,1)
-+ in Tokens.CCONST(Int.toLarge cval,yypos,yypos+size(yytext))
-+ end end
-+| 22 => (YYBEGIN INITIAL;Tokens.STRING(makeString charlist,!stringstart,yypos+1))
-+| 222 => let val yytext=yymktext() in Tokens.CCONST(IntInf.fromInt(special_char(substring(yytext,1,size(yytext)-2),yypos,yypos+size(yytext),errWarn)), yypos, yypos+size(yytext)) end
-+| 225 => let val yytext=yymktext() in TokTable.checkToken(yytext,yypos) end
-+| 227 => (continue())
-+| 24 => ((#err errWarn) (!stringstart,yypos,"unclosed string");
-+ SourceMap.newline sourceMap yypos;
-+ YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos))
-+| 26 => let val yytext=yymktext() in addString(charlist,yytext); continue() end
-+| 29 => (SourceMap.newline sourceMap yypos; continue())
-+| 32 => (addString(charlist,chr 0);continue())
-+| 37 => let val yytext=yymktext() in addString(charlist, chr(mkOctChar(substring(yytext, 1, size(yytext)-1), yypos, yypos+size(yytext), errWarn))); continue() end
-+| 42 => let val yytext=yymktext() in addString(charlist, chr(mkHexChar(substring(yytext, 2, size(yytext)-2), yypos, yypos+size(yytext), errWarn))); continue() end
-+| 46 => let val yytext=yymktext() in addString(charlist,chr(ordof(yytext,2)-ord("@"))); continue() end
-+| 49 => let val yytext=yymktext() in addString(charlist, chr(special_char(yytext, yypos, yypos+size(yytext), errWarn))); continue() end
-+| 5 => let val yytext=yymktext() in SourceMap.parseDirective sourceMap
-+ (yypos,yytext); continue() end
-+| 51 => (Tokens.COLON(yypos,yypos+1))
-+| 53 => (Tokens.SEMICOLON(yypos,yypos+1))
-+| 55 => (Tokens.LPAREN(yypos,yypos+1))
-+| 57 => (Tokens.RPAREN(yypos,yypos+1))
-+| 59 => (Tokens.LBRACE(yypos,yypos+1))
-+| 61 => (Tokens.RBRACE(yypos,yypos+1))
-+| 63 => (Tokens.LCURLY(yypos,yypos+1))
-+| 65 => (Tokens.RCURLY(yypos,yypos+1))
-+| 67 => (Tokens.DOT(yypos,yypos+1))
-+| 7 => (SourceMap.newline sourceMap yypos; continue())
-+| 71 => (Tokens.ELIPSIS(yypos,yypos+3))
-+| 73 => (Tokens.COMMA(yypos,yypos+1))
-+| 75 => (Tokens.TIMES(yypos,yypos+1))
-+| 77 => (Tokens.BANG(yypos,yypos+1))
-+| 79 => (Tokens.HAT(yypos,yypos+1))
-+| 81 => (Tokens.PLUS(yypos,yypos+1))
-+| 83 => (Tokens.MINUS(yypos,yypos+1))
-+| 86 => (Tokens.INC(yypos,yypos+2))
-+| 89 => (Tokens.DEC(yypos,yypos+2))
-+| 92 => (Tokens.ARROW(yypos,yypos+1))
-+| 94 => (Tokens.DIVIDE(yypos,yypos+1))
-+| 96 => (Tokens.TILDE(yypos,yypos+1))
-+| 98 => (Tokens.QUESTION(yypos,yypos+1))
-+| _ => raise Internal.LexerError
-+
-+ ) end )
-+
+ open UserDeclarations Internal.StartStates
+ in (yybufpos := i; case yyk of
+
+@@ -1018,30 +1020,30 @@
+
+ ) end )
+
+- val {fin,trans} = Unsafe.Vector.sub(Internal.tab, s)
+ val {fin,trans} = Vector.sub (Internal.tab, s)
-+ val NewAcceptingLeaves = fin::AcceptingLeaves
-+ in if l = !yybl then
-+ if trans = #trans(Vector.sub(Internal.tab,0))
-+ then action(l,NewAcceptingLeaves
-+) else let val newchars= if !yydone then "" else yyinput 1024
+ val NewAcceptingLeaves = fin::AcceptingLeaves
+ in if l = !yybl then
+ if trans = #trans(Vector.sub(Internal.tab,0))
+ then action(l,NewAcceptingLeaves
+ ) else let val newchars= if !yydone then "" else yyinput 1024
+- in if (size newchars)=0
+ in if (String.size newchars)=0
-+ then (yydone := true;
-+ if (l=i0) then UserDeclarations.eof yyarg
-+ else action(l,NewAcceptingLeaves))
-+ else (if i0=l then yyb := newchars
+ then (yydone := true;
+ if (l=i0) then UserDeclarations.eof yyarg
+ else action(l,NewAcceptingLeaves))
+ else (if i0=l then yyb := newchars
+- else yyb := substring(!yyb,i0,l-i0)^newchars;
+ else yyb := String.substring(!yyb,i0,l-i0)^newchars;
-+ yygone := !yygone+i0;
+ yygone := !yygone+i0;
+- yybl := size (!yyb);
+ yybl := String.size (!yyb);
-+ scan (s,AcceptingLeaves,l-i0,0))
-+ end
+ scan (s,AcceptingLeaves,l-i0,0))
+ end
+- else let val NewChar = Char.ord(Unsafe.CharVector.sub(!yyb,l))
+ else let val NewChar = Char.ord (CharVector.sub (!yyb,l))
-+ val NewChar = if NewChar<128 then NewChar else 128
+ val NewChar = if NewChar<128 then NewChar else 128
+- val NewState = Char.ord(Unsafe.CharVector.sub(trans,NewChar))
+ val NewState = Char.ord (CharVector.sub (trans,NewChar))
-+ in if NewState=0 then action(l,NewAcceptingLeaves)
-+ else scan(NewState,NewAcceptingLeaves,l+1,i0)
-+ end
-+ end
+ in if NewState=0 then action(l,NewAcceptingLeaves)
+ else scan(NewState,NewAcceptingLeaves,l+1,i0)
+ end
+ end
+- val start= if substring(!yyb,!yybufpos-1,1)="\n"
+ val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
-+then !yybegin+1 else !yybegin
-+ in scan(start,nil,!yybufpos,!yybufpos)
-+ end
-+in continue end
-+ in lex
-+ end
-+end
+ then !yybegin+1 else !yybegin
+ in scan(start,nil,!yybufpos,!yybufpos)
+ end
diff -Naur ckit/src/parser/parse-tree-sig.sml ckit-mlton/src/parser/parse-tree-sig.sml
--- ckit/src/parser/parse-tree-sig.sml 2000-04-05 14:35:01.000000000 -0400
-+++ ckit-mlton/src/parser/parse-tree-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/parser/parse-tree-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -27,8 +27,10 @@
| ModAssign | XorAssign | OrAssign | AndAssign
| LshiftAssign | RshiftAssign
@@ -16469,7 +1543,7 @@
and declarationExt =
diff -Naur ckit/src/parser/parse-tree.sml ckit-mlton/src/parser/parse-tree.sml
--- ckit/src/parser/parse-tree.sml 2000-04-05 14:35:01.000000000 -0400
-+++ ckit-mlton/src/parser/parse-tree.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/parser/parse-tree.sml 2005-08-17 19:41:36.000000000 -0400
@@ -23,8 +23,10 @@
| ModAssign | XorAssign | OrAssign | AndAssign
| LshiftAssign | RshiftAssign
Modified: mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.tgz
===================================================================
(Binary files differ)
Modified: mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/Makefile 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/Makefile 2005-11-22 03:02:45 UTC (rev 4248)
@@ -11,7 +11,6 @@
smlnj-lib/README.mlton: smlnj-lib.tgz smlnj-lib.patch
gzip -dc smlnj-lib.tgz | tar xf -
patch -p0 < smlnj-lib.patch
- rm smlnj-lib/HTML/.cvsignore
mv smlnj-lib/LICENSE ../../doc/license/SMLNJ-LIB-LICENSE
.PHONY: clean
Modified: mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch 2005-11-22 03:02:45 UTC (rev 4248)
@@ -1,6 +1,6 @@
diff -Naur smlnj-lib/Controls/controls-lib.mlb smlnj-lib-mlton/Controls/controls-lib.mlb
--- smlnj-lib/Controls/controls-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Controls/controls-lib.mlb 2005-08-18 12:18:11.000000000 -0400
++++ smlnj-lib-mlton/Controls/controls-lib.mlb 2005-11-21 11:37:31.000000000 -0500
@@ -0,0 +1,170 @@
+
+ann
@@ -174,7 +174,7 @@
+end
diff -Naur smlnj-lib/HashCons/hash-cons-lib.mlb smlnj-lib-mlton/HashCons/hash-cons-lib.mlb
--- smlnj-lib/HashCons/hash-cons-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HashCons/hash-cons-lib.mlb 2005-08-18 12:18:12.000000000 -0400
++++ smlnj-lib-mlton/HashCons/hash-cons-lib.mlb 2005-11-21 11:37:34.000000000 -0500
@@ -0,0 +1,144 @@
+
+ann
@@ -320,22 +320,9 @@
+end
+
+end
-diff -Naur smlnj-lib/HTML/deviations.sml smlnj-lib-mlton/HTML/deviations.sml
---- smlnj-lib/HTML/deviations.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/deviations.sml 2005-08-17 20:23:34.000000000 -0400
-@@ -0,0 +1,9 @@
-+structure Substring :
-+ sig
-+ include SUBSTRING
-+ val all : string -> substring
-+ end =
-+ struct
-+ open Substring
-+ val all = full
-+ end
diff -Naur smlnj-lib/HTML/html-attrs-fn.sml smlnj-lib-mlton/HTML/html-attrs-fn.sml
---- smlnj-lib/HTML/html-attrs-fn.sml 2003-05-22 18:46:30.000000000 -0400
-+++ smlnj-lib-mlton/HTML/html-attrs-fn.sml 2005-08-17 20:23:34.000000000 -0400
+--- smlnj-lib/HTML/html-attrs-fn.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-attrs-fn.sml 2005-08-17 20:13:04.000000000 -0400
@@ -89,19 +89,24 @@
fun error () = (
Err.badAttrVal ctx (attrName, attrValToString attrVal);
@@ -435,7 +422,7 @@
end
diff -Naur smlnj-lib/HTML/html-cons-lib.mlb smlnj-lib-mlton/HTML/html-cons-lib.mlb
--- smlnj-lib/HTML/html-cons-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-cons-lib.mlb 2005-08-17 20:23:34.000000000 -0400
++++ smlnj-lib-mlton/HTML/html-cons-lib.mlb 2005-08-17 20:13:04.000000000 -0400
@@ -0,0 +1,9 @@
+
+ann
@@ -447,8 +434,8 @@
+
+end
diff -Naur smlnj-lib/HTML/html-elements-fn.sml smlnj-lib-mlton/HTML/html-elements-fn.sml
---- smlnj-lib/HTML/html-elements-fn.sml 2000-06-01 14:33:54.000000000 -0400
-+++ smlnj-lib-mlton/HTML/html-elements-fn.sml 2005-08-17 20:23:34.000000000 -0400
+--- smlnj-lib/HTML/html-elements-fn.sml 2005-11-17 15:53:08.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-elements-fn.sml 2005-11-17 15:55:26.000000000 -0500
@@ -144,7 +144,8 @@
* 3) a string literal enclosed in ''
*)
@@ -459,9370 +446,123 @@
| isNameChar c = (Char.isAlphaNum c)
in
case SS.getc ss
-diff -Naur smlnj-lib/HTML/html-gram.desc smlnj-lib-mlton/HTML/html-gram.desc
---- smlnj-lib/HTML/html-gram.desc 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-gram.desc 2005-08-18 12:09:03.000000000 -0400
-@@ -0,0 +1,6055 @@
-+
-+state 0:
-+
-+ Document : . StartHTML Head Body EndHTML
-+
-+ START_HTML shift 2
-+
-+ Document goto 282
-+ StartHTML goto 1
-+
-+ . reduce by rule 1
-+
-+
-+state 1:
-+
-+ Document : StartHTML . Head Body EndHTML
-+
-+ START_HEAD shift 5
-+
-+ Head goto 4
-+ StartHEAD goto 3
-+
-+ . reduce by rule 6
-+
-+
-+state 2:
-+
-+ StartHTML : START_HTML . (reduce by rule 2)
-+
-+
-+
-+ . reduce by rule 2
-+
-+
-+state 3:
-+
-+ Head : StartHEAD . HeadContents EndHEAD
-+
-+ TAG_BASE shift 14
-+ TAG_ISINDEX shift 13
-+ TAG_LINK shift 12
-+ TAG_META shift 11
-+ START_SCRIPT shift 10
-+ START_STYLE shift 9
-+
-+ HeadContents goto 8
-+ HeadElements goto 7
-+ HeadElement goto 6
-+
-+ . reduce by rule 11
-+
-+
-+state 4:
-+
-+ Document : StartHTML Head . Body EndHTML
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ START_BODY shift 73
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ Body goto 27
-+ BodyContent0 goto 26
-+ BodyElement goto 25
-+ BlockWOIndex goto 24
-+ Paragraph goto 23
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 20
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . error
-+
-+
-+state 5:
-+
-+ StartHEAD : START_HEAD . (reduce by rule 7)
-+
-+
-+
-+ . reduce by rule 7
-+
-+
-+state 6:
-+
-+ HeadElements : HeadElement . HeadElements
-+
-+ TAG_BASE shift 14
-+ TAG_ISINDEX shift 13
-+ TAG_LINK shift 12
-+ TAG_META shift 11
-+ START_SCRIPT shift 10
-+ START_STYLE shift 9
-+
-+ HeadElements goto 80
-+ HeadElement goto 6
-+
-+ . reduce by rule 11
-+
-+
-+state 7:
-+
-+ HeadContents : HeadElements . START_TITLE PCData END_TITLE HeadElements
-+
-+ START_TITLE shift 81
-+
-+
-+ . error
-+
-+
-+state 8:
-+
-+ Head : StartHEAD HeadContents . EndHEAD
-+
-+ END_HEAD shift 83
-+
-+ EndHEAD goto 82
-+
-+ . reduce by rule 8
-+
-+
-+state 9:
-+
-+ HeadElement : START_STYLE . PCData END_STYLE
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 86
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 10:
-+
-+ HeadElement : START_SCRIPT . PCData END_SCRIPT
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 87
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 11:
-+
-+ HeadElement : TAG_META . (reduce by rule 13)
-+
-+
-+
-+ . reduce by rule 13
-+
-+
-+state 12:
-+
-+ HeadElement : TAG_LINK . (reduce by rule 14)
-+
-+
-+
-+ . reduce by rule 14
-+
-+
-+state 13:
-+
-+ HeadElement : TAG_ISINDEX . (reduce by rule 15)
-+
-+
-+
-+ . reduce by rule 15
-+
-+
-+state 14:
-+
-+ HeadElement : TAG_BASE . (reduce by rule 16)
-+
-+
-+
-+ . reduce by rule 16
-+
-+
-+state 15:
-+
-+ TextWOScript : PCDataElem . (reduce by rule 108)
-+
-+
-+
-+ . reduce by rule 108
-+
-+
-+state 16:
-+
-+ TextWOScript : Form . (reduce by rule 112)
-+
-+
-+
-+ . reduce by rule 112
-+
-+
-+state 17:
-+
-+ TextWOScript : Special . (reduce by rule 111)
-+
-+
-+
-+ . reduce by rule 111
-+
-+
-+state 18:
-+
-+ TextWOScript : Phrase . (reduce by rule 110)
-+
-+
-+
-+ . reduce by rule 110
-+
-+
-+state 19:
-+
-+ TextWOScript : Font . (reduce by rule 109)
-+
-+
-+
-+ . reduce by rule 109
-+
-+
-+state 20:
-+
-+ BodyContent0 : TextWOScript . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 94
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 21:
-+
-+ BlockWOIndex : Preformatted . (reduce by rule 55)
-+
-+
-+
-+ . reduce by rule 55
-+
-+
-+state 22:
-+
-+ BlockWOIndex : List . (reduce by rule 54)
-+
-+
-+
-+ . reduce by rule 54
-+
-+
-+state 23:
-+
-+ BodyContent0 : Paragraph . END_P BodyContent1
-+ BodyContent0 : Paragraph . BodyContent2
-+
-+ START_ADDRESS shift 78
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 101
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BodyContent2 goto 100
-+ BodyElement goto 99
-+ BlockWOIndex goto 92
-+ Block goto 98
-+ Paragraph goto 97
-+ List goto 22
-+ Preformatted goto 21
-+
-+ . reduce by rule 35
-+
-+
-+state 24:
-+
-+ BodyContent0 : BlockWOIndex . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 102
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 25:
-+
-+ BodyContent0 : BodyElement . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 103
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 26:
-+
-+ Body : BodyContent0 . EndBODY
-+
-+ END_BODY shift 105
-+
-+ EndBODY goto 104
-+
-+ . reduce by rule 20
-+
-+
-+state 27:
-+
-+ Document : StartHTML Head Body . EndHTML
-+
-+ END_HTML shift 107
-+
-+ EndHTML goto 106
-+
-+ . reduce by rule 3
-+
-+
-+state 28:
-+
-+ PCDataElem : ENTITY_REF . (reduce by rule 154)
-+
-+
-+
-+ . reduce by rule 154
-+
-+
-+state 29:
-+
-+ PCDataElem : CHAR_REF . (reduce by rule 153)
-+
-+
-+
-+ . reduce by rule 153
-+
-+
-+state 30:
-+
-+ PCDataElem : PCDATA . (reduce by rule 152)
-+
-+
-+
-+ . reduce by rule 152
-+
-+
-+state 31:
-+
-+ Phrase : START_VAR . TextList END_VAR
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 110
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 32:
-+
-+ List : START_UL . ListItemList END_UL
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 112
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 33:
-+
-+ Font : START_U . TextList END_U
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 114
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 34:
-+
-+ Font : START_TT . TextList END_TT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 115
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 35:
-+
-+ Form : START_TEXTAREA . PCData END_TEXTAREA
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 116
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 36:
-+
-+ BlockWOIndex : START_TABLE . optCaption TableRowList END_TABLE
-+
-+ START_CAPTION shift 118
-+
-+ optCaption goto 117
-+
-+ . reduce by rule 93
-+
-+
-+state 37:
-+
-+ Font : START_SUP . TextList END_SUP
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 119
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 38:
-+
-+ Font : START_SUB . TextList END_SUB
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 120
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 39:
-+
-+ Phrase : START_STRONG . TextList END_STRONG
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 121
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 40:
-+
-+ Font : START_STRIKE . TextList END_STRIKE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 122
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 41:
-+
-+ Font : START_SMALL . TextList END_SMALL
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 123
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 42:
-+
-+ Form : START_SELECT . OptionList END_SELECT
-+
-+ START_OPTION shift 125
-+
-+ OptionList goto 124
-+
-+ . reduce by rule 145
-+
-+
-+state 43:
-+
-+ Phrase : START_SAMP . TextList END_SAMP
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 126
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 44:
-+
-+ Preformatted : START_PRE . TextList END_PRE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 127
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 45:
-+
-+ Special : TAG_PARAM . (reduce by rule 139)
-+
-+
-+
-+ . reduce by rule 139
-+
-+
-+state 46:
-+
-+ Paragraph : START_P . TextList
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 128
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 47:
-+
-+ List : START_OL . ListItemList END_OL
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 129
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 48:
-+
-+ List : START_MENU . ListItemList END_MENU
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 130
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 49:
-+
-+ Special : START_MAP . AreaList END_MAP
-+
-+ TAG_AREA shift 132
-+
-+ AreaList goto 131
-+
-+ . reduce by rule 140
-+
-+
-+state 50:
-+
-+ Phrase : START_KBD . TextList END_KBD
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 133
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 51:
-+
-+ Form : TAG_INPUT . (reduce by rule 142)
-+
-+
-+
-+ . reduce by rule 142
-+
-+
-+state 52:
-+
-+ Special : TAG_IMG . (reduce by rule 133)
-+
-+
-+
-+ . reduce by rule 133
-+
-+
-+state 53:
-+
-+ Font : START_I . TextList END_I
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 134
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 54:
-+
-+ BlockWOIndex : TAG_HR . (reduce by rule 60)
-+
-+
-+
-+ . reduce by rule 60
-+
-+
-+state 55:
-+
-+ BodyElement : START_H6 . TextList END_H6
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 135
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 56:
-+
-+ BodyElement : START_H5 . TextList END_H5
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 136
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 57:
-+
-+ BodyElement : START_H4 . TextList END_H4
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 137
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 58:
-+
-+ BodyElement : START_H3 . TextList END_H3
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 138
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 59:
-+
-+ BodyElement : START_H2 . TextList END_H2
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 139
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 60:
-+
-+ BodyElement : START_H1 . TextList END_H1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 140
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 61:
-+
-+ BlockWOIndex : START_FORM . BodyContent END_FORM
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 142
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 62:
-+
-+ Special : START_BASEFONT . TextList END_BASEFONT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 143
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 63:
-+
-+ Special : START_FONT . TextList END_FONT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 144
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 64:
-+
-+ Phrase : START_EM . TextList END_EM
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 145
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 65:
-+
-+ List : START_DL . DLItemList END_DL
-+
-+ START_DD shift 149
-+ START_DT shift 148
-+
-+ DLItemList goto 147
-+ DLItem goto 146
-+
-+ . reduce by rule 73
-+
-+
-+state 66:
-+
-+ BlockWOIndex : START_DIV . BodyContent END_DIV
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 150
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 67:
-+
-+ List : START_DIR . ListItemList END_DIR
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 151
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 68:
-+
-+ Phrase : START_DFN . TextList END_DFN
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 152
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 69:
-+
-+ Phrase : START_CODE . TextList END_CODE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 153
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 70:
-+
-+ Phrase : START_CITE . TextList END_CITE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 154
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 71:
-+
-+ BlockWOIndex : START_CENTER . BodyContent END_CENTER
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 155
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 72:
-+
-+ Special : TAG_BR . (reduce by rule 137)
-+
-+
-+
-+ . reduce by rule 137
-+
-+
-+state 73:
-+
-+ BodyContent0 : START_BODY . BodyContent
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 156
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 74:
-+
-+ BlockWOIndex : START_BLOCKQUOTE . BodyContent END_BLOCKQUOTE
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 157
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 75:
-+
-+ Font : START_BIG . TextList END_BIG
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 158
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 76:
-+
-+ Font : START_B . TextList END_B
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 159
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 77:
-+
-+ Special : START_APPLET . TextList END_APPLET
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 160
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 78:
-+
-+ BodyElement : START_ADDRESS . AddressContent1 END_ADDRESS
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 163
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 79:
-+
-+ Special : START_A . TextList END_A
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 164
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 80:
-+
-+ HeadElements : HeadElement HeadElements . (reduce by rule 12)
-+
-+
-+
-+ . reduce by rule 12
-+
-+
-+state 81:
-+
-+ HeadContents : HeadElements START_TITLE . PCData END_TITLE HeadElements
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 165
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 82:
-+
-+ Head : StartHEAD HeadContents EndHEAD . (reduce by rule 5)
-+
-+
-+
-+ . reduce by rule 5
-+
-+
-+state 83:
-+
-+ EndHEAD : END_HEAD . (reduce by rule 9)
-+
-+
-+
-+ . reduce by rule 9
-+
-+
-+state 84:
-+
-+ PCDataList : PCDataElem . PCDataList
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCDataList goto 166
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 85:
-+
-+ PCData : PCDataList . (reduce by rule 149)
-+
-+
-+
-+ . reduce by rule 149
-+
-+
-+state 86:
-+
-+ HeadElement : START_STYLE PCData . END_STYLE
-+
-+ END_STYLE shift 167
-+
-+
-+ . error
-+
-+
-+state 87:
-+
-+ HeadElement : START_SCRIPT PCData . END_SCRIPT
-+
-+ END_SCRIPT shift 168
-+
-+
-+ . error
-+
-+
-+state 88:
-+
-+ BodyContent1 : Text . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 169
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 89:
-+
-+ Text : TextWOScript . (reduce by rule 113)
-+
-+
-+
-+ . reduce by rule 113
-+
-+
-+state 90:
-+
-+ BodyContent1 : Paragraph . END_P BodyContent1
-+ BodyContent1 : Paragraph . BodyContent2
-+
-+ START_ADDRESS shift 78
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 171
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BodyContent2 goto 170
-+ BodyElement goto 99
-+ BlockWOIndex goto 92
-+ Block goto 98
-+ Paragraph goto 97
-+ List goto 22
-+ Preformatted goto 21
-+
-+ . reduce by rule 35
-+
-+
-+state 91:
-+
-+ BodyContent1 : Block . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 172
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 92:
-+
-+ Block : BlockWOIndex . (reduce by rule 62)
-+
-+
-+
-+ . reduce by rule 62
-+
-+
-+state 93:
-+
-+ BodyContent1 : BodyElement . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 173
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 94:
-+
-+ BodyContent0 : TextWOScript BodyContent1 . (reduce by rule 24)
-+
-+
-+
-+ . reduce by rule 24
-+
-+
-+state 95:
-+
-+ Text : START_SCRIPT . PCData END_SCRIPT
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 174
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 96:
-+
-+ Block : TAG_ISINDEX . (reduce by rule 63)
-+
-+
-+
-+ . reduce by rule 63
-+
-+
-+state 97:
-+
-+ BodyContent2 : Paragraph . END_P BodyContent1
-+ BodyContent2 : Paragraph . BodyContent2
-+
-+ START_ADDRESS shift 78
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 176
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BodyContent2 goto 175
-+ BodyElement goto 99
-+ BlockWOIndex goto 92
-+ Block goto 98
-+ Paragraph goto 97
-+ List goto 22
-+ Preformatted goto 21
-+
-+ . reduce by rule 35
-+
-+
-+state 98:
-+
-+ BodyContent2 : Block . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 177
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 99:
-+
-+ BodyContent2 : BodyElement . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 178
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 100:
-+
-+ BodyContent0 : Paragraph BodyContent2 . (reduce by rule 28)
-+
-+
-+
-+ . reduce by rule 28
-+
-+
-+state 101:
-+
-+ BodyContent0 : Paragraph END_P . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 179
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 102:
-+
-+ BodyContent0 : BlockWOIndex BodyContent1 . (reduce by rule 26)
-+
-+
-+
-+ . reduce by rule 26
-+
-+
-+state 103:
-+
-+ BodyContent0 : BodyElement BodyContent1 . (reduce by rule 25)
-+
-+
-+
-+ . reduce by rule 25
-+
-+
-+state 104:
-+
-+ Body : BodyContent0 EndBODY . (reduce by rule 19)
-+
-+
-+
-+ . reduce by rule 19
-+
-+
-+state 105:
-+
-+ EndBODY : END_BODY . (reduce by rule 21)
-+
-+
-+
-+ . reduce by rule 21
-+
-+
-+state 106:
-+
-+ Document : StartHTML Head Body EndHTML . (reduce by rule 0)
-+
-+
-+
-+ . reduce by rule 0
-+
-+
-+state 107:
-+
-+ EndHTML : END_HTML . (reduce by rule 4)
-+
-+
-+
-+ . reduce by rule 4
-+
-+
-+state 108:
-+
-+ TextList' : Text . TextList'
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList' goto 180
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 109:
-+
-+ TextList : TextList' . (reduce by rule 105)
-+
-+
-+
-+ . reduce by rule 105
-+
-+
-+state 110:
-+
-+ Phrase : START_VAR TextList . END_VAR
-+
-+ END_VAR shift 181
-+
-+
-+ . error
-+
-+
-+state 111:
-+
-+ ListItemList : ListItem . ListItemList
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 182
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 112:
-+
-+ List : START_UL ListItemList . END_UL
-+
-+ END_UL shift 183
-+
-+
-+ . error
-+
-+
-+state 113:
-+
-+ ListItem : START_LI . Flow1 EndLI
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 185
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 114:
-+
-+ Font : START_U TextList . END_U
-+
-+ END_U shift 188
-+
-+
-+ . error
-+
-+
-+state 115:
-+
-+ Font : START_TT TextList . END_TT
-+
-+ END_TT shift 189
-+
-+
-+ . error
-+
-+
-+state 116:
-+
-+ Form : START_TEXTAREA PCData . END_TEXTAREA
-+
-+ END_TEXTAREA shift 190
-+
-+
-+ . error
-+
-+
-+state 117:
-+
-+ BlockWOIndex : START_TABLE optCaption . TableRowList END_TABLE
-+
-+ START_TR shift 193
-+
-+ TableRowList goto 192
-+ TableRow goto 191
-+
-+ . error
-+
-+
-+state 118:
-+
-+ optCaption : START_CAPTION . TextList END_CAPTION
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 194
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 119:
-+
-+ Font : START_SUP TextList . END_SUP
-+
-+ END_SUP shift 195
-+
-+
-+ . error
-+
-+
-+state 120:
-+
-+ Font : START_SUB TextList . END_SUB
-+
-+ END_SUB shift 196
-+
-+
-+ . error
-+
-+
-+state 121:
-+
-+ Phrase : START_STRONG TextList . END_STRONG
-+
-+ END_STRONG shift 197
-+
-+
-+ . error
-+
-+
-+state 122:
-+
-+ Font : START_STRIKE TextList . END_STRIKE
-+
-+ END_STRIKE shift 198
-+
-+
-+ . error
-+
-+
-+state 123:
-+
-+ Font : START_SMALL TextList . END_SMALL
-+
-+ END_SMALL shift 199
-+
-+
-+ . error
-+
-+
-+state 124:
-+
-+ Form : START_SELECT OptionList . END_SELECT
-+
-+ END_SELECT shift 200
-+
-+
-+ . error
-+
-+
-+state 125:
-+
-+ OptionList : START_OPTION . PCData EndOPTION OptionList
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 201
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 126:
-+
-+ Phrase : START_SAMP TextList . END_SAMP
-+
-+ END_SAMP shift 202
-+
-+
-+ . error
-+
-+
-+state 127:
-+
-+ Preformatted : START_PRE TextList . END_PRE
-+
-+ END_PRE shift 203
-+
-+
-+ . error
-+
-+
-+state 128:
-+
-+ Paragraph : START_P TextList . (reduce by rule 64)
-+
-+
-+
-+ . reduce by rule 64
-+
-+
-+state 129:
-+
-+ List : START_OL ListItemList . END_OL
-+
-+ END_OL shift 204
-+
-+
-+ . error
-+
-+
-+state 130:
-+
-+ List : START_MENU ListItemList . END_MENU
-+
-+ END_MENU shift 205
-+
-+
-+ . error
-+
-+
-+state 131:
-+
-+ Special : START_MAP AreaList . END_MAP
-+
-+ END_MAP shift 206
-+
-+
-+ . error
-+
-+
-+state 132:
-+
-+ AreaList : TAG_AREA . AreaList
-+
-+ TAG_AREA shift 132
-+
-+ AreaList goto 207
-+
-+ . reduce by rule 140
-+
-+
-+state 133:
-+
-+ Phrase : START_KBD TextList . END_KBD
-+
-+ END_KBD shift 208
-+
-+
-+ . error
-+
-+
-+state 134:
-+
-+ Font : START_I TextList . END_I
-+
-+ END_I shift 209
-+
-+
-+ . error
-+
-+
-+state 135:
-+
-+ BodyElement : START_H6 TextList . END_H6
-+
-+ END_H6 shift 210
-+
-+
-+ . error
-+
-+
-+state 136:
-+
-+ BodyElement : START_H5 TextList . END_H5
-+
-+ END_H5 shift 211
-+
-+
-+ . error
-+
-+
-+state 137:
-+
-+ BodyElement : START_H4 TextList . END_H4
-+
-+ END_H4 shift 212
-+
-+
-+ . error
-+
-+
-+state 138:
-+
-+ BodyElement : START_H3 TextList . END_H3
-+
-+ END_H3 shift 213
-+
-+
-+ . error
-+
-+
-+state 139:
-+
-+ BodyElement : START_H2 TextList . END_H2
-+
-+ END_H2 shift 214
-+
-+
-+ . error
-+
-+
-+state 140:
-+
-+ BodyElement : START_H1 TextList . END_H1
-+
-+ END_H1 shift 215
-+
-+
-+ . error
-+
-+
-+state 141:
-+
-+ BodyContent : BodyContent1 . (reduce by rule 22)
-+
-+
-+
-+ . reduce by rule 22
-+
-+
-+state 142:
-+
-+ BlockWOIndex : START_FORM BodyContent . END_FORM
-+
-+ END_FORM shift 216
-+
-+
-+ . error
-+
-+
-+state 143:
-+
-+ Special : START_BASEFONT TextList . END_BASEFONT
-+
-+ END_BASEFONT shift 217
-+
-+
-+ . error
-+
-+
-+state 144:
-+
-+ Special : START_FONT TextList . END_FONT
-+
-+ END_FONT shift 218
-+
-+
-+ . error
-+
-+
-+state 145:
-+
-+ Phrase : START_EM TextList . END_EM
-+
-+ END_EM shift 219
-+
-+
-+ . error
-+
-+
-+state 146:
-+
-+ DLItemList : DLItem . DLItemList
-+
-+ START_DD shift 149
-+ START_DT shift 148
-+
-+ DLItemList goto 220
-+ DLItem goto 146
-+
-+ . reduce by rule 73
-+
-+
-+state 147:
-+
-+ List : START_DL DLItemList . END_DL
-+
-+ END_DL shift 221
-+
-+
-+ . error
-+
-+
-+state 148:
-+
-+ DLItem : START_DT . TextList EndDT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 222
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 149:
-+
-+ DLItem : START_DD . Flow1 EndDD
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 223
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 150:
-+
-+ BlockWOIndex : START_DIV BodyContent . END_DIV
-+
-+ END_DIV shift 224
-+
-+
-+ . error
-+
-+
-+state 151:
-+
-+ List : START_DIR ListItemList . END_DIR
-+
-+ END_DIR shift 225
-+
-+
-+ . error
-+
-+
-+state 152:
-+
-+ Phrase : START_DFN TextList . END_DFN
-+
-+ END_DFN shift 226
-+
-+
-+ . error
-+
-+
-+state 153:
-+
-+ Phrase : START_CODE TextList . END_CODE
-+
-+ END_CODE shift 227
-+
-+
-+ . error
-+
-+
-+state 154:
-+
-+ Phrase : START_CITE TextList . END_CITE
-+
-+ END_CITE shift 228
-+
-+
-+ . error
-+
-+
-+state 155:
-+
-+ BlockWOIndex : START_CENTER BodyContent . END_CENTER
-+
-+ END_CENTER shift 229
-+
-+
-+ . error
-+
-+
-+state 156:
-+
-+ BodyContent0 : START_BODY BodyContent . (reduce by rule 23)
-+
-+
-+
-+ . reduce by rule 23
-+
-+
-+state 157:
-+
-+ BlockWOIndex : START_BLOCKQUOTE BodyContent . END_BLOCKQUOTE
-+
-+ END_BLOCKQUOTE shift 230
-+
-+
-+ . error
-+
-+
-+state 158:
-+
-+ Font : START_BIG TextList . END_BIG
-+
-+ END_BIG shift 231
-+
-+
-+ . error
-+
-+
-+state 159:
-+
-+ Font : START_B TextList . END_B
-+
-+ END_B shift 232
-+
-+
-+ . error
-+
-+
-+state 160:
-+
-+ Special : START_APPLET TextList . END_APPLET
-+
-+ END_APPLET shift 233
-+
-+
-+ . error
-+
-+
-+state 161:
-+
-+ AddressContent1 : Text . AddressContent1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 234
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 162:
-+
-+ AddressContent1 : Paragraph . END_P AddressContent1
-+ AddressContent1 : Paragraph . AddressContent2
-+
-+ START_P shift 46
-+ END_P shift 237
-+
-+ AddressContent2 goto 236
-+ Paragraph goto 235
-+
-+ . reduce by rule 51
-+
-+
-+state 163:
-+
-+ BodyElement : START_ADDRESS AddressContent1 . END_ADDRESS
-+
-+ END_ADDRESS shift 238
-+
-+
-+ . error
-+
-+
-+state 164:
-+
-+ Special : START_A TextList . END_A
-+
-+ END_A shift 239
-+
-+
-+ . error
-+
-+
-+state 165:
-+
-+ HeadContents : HeadElements START_TITLE PCData . END_TITLE HeadElements
-+
-+ END_TITLE shift 240
-+
-+
-+ . error
-+
-+
-+state 166:
-+
-+ PCDataList : PCDataElem PCDataList . (reduce by rule 151)
-+
-+
-+
-+ . reduce by rule 151
-+
-+
-+state 167:
-+
-+ HeadElement : START_STYLE PCData END_STYLE . (reduce by rule 17)
-+
-+
-+
-+ . reduce by rule 17
-+
-+
-+state 168:
-+
-+ HeadElement : START_SCRIPT PCData END_SCRIPT . (reduce by rule 18)
-+
-+
-+
-+ . reduce by rule 18
-+
-+
-+state 169:
-+
-+ BodyContent1 : Text BodyContent1 . (reduce by rule 30)
-+
-+
-+
-+ . reduce by rule 30
-+
-+
-+state 170:
-+
-+ BodyContent1 : Paragraph BodyContent2 . (reduce by rule 34)
-+
-+
-+
-+ . reduce by rule 34
-+
-+
-+state 171:
-+
-+ BodyContent1 : Paragraph END_P . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 241
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 172:
-+
-+ BodyContent1 : Block BodyContent1 . (reduce by rule 32)
-+
-+
-+
-+ . reduce by rule 32
-+
-+
-+state 173:
-+
-+ BodyContent1 : BodyElement BodyContent1 . (reduce by rule 31)
-+
-+
-+
-+ . reduce by rule 31
-+
-+
-+state 174:
-+
-+ Text : START_SCRIPT PCData . END_SCRIPT
-+
-+ END_SCRIPT shift 242
-+
-+
-+ . error
-+
-+
-+state 175:
-+
-+ BodyContent2 : Paragraph BodyContent2 . (reduce by rule 39)
-+
-+
-+
-+ . reduce by rule 39
-+
-+
-+state 176:
-+
-+ BodyContent2 : Paragraph END_P . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 243
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 177:
-+
-+ BodyContent2 : Block BodyContent1 . (reduce by rule 37)
-+
-+
-+
-+ . reduce by rule 37
-+
-+
-+state 178:
-+
-+ BodyContent2 : BodyElement BodyContent1 . (reduce by rule 36)
-+
-+
-+
-+ . reduce by rule 36
-+
-+
-+state 179:
-+
-+ BodyContent0 : Paragraph END_P BodyContent1 . (reduce by rule 27)
-+
-+
-+
-+ . reduce by rule 27
-+
-+
-+state 180:
-+
-+ TextList' : Text TextList' . (reduce by rule 107)
-+
-+
-+
-+ . reduce by rule 107
-+
-+
-+state 181:
-+
-+ Phrase : START_VAR TextList END_VAR . (reduce by rule 130)
-+
-+
-+
-+ . reduce by rule 130
-+
-+
-+state 182:
-+
-+ ListItemList : ListItem ListItemList . (reduce by rule 71)
-+
-+
-+
-+ . reduce by rule 71
-+
-+
-+state 183:
-+
-+ List : START_UL ListItemList END_UL . (reduce by rule 65)
-+
-+
-+
-+ . reduce by rule 65
-+
-+
-+state 184:
-+
-+ Flow1 : Text . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 244
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 185:
-+
-+ ListItem : START_LI Flow1 . EndLI
-+
-+ END_LI shift 246
-+
-+ EndLI goto 245
-+
-+ . reduce by rule 86
-+
-+
-+state 186:
-+
-+ Flow1 : Paragraph . END_P Flow1
-+ Flow1 : Paragraph . Flow2
-+
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 250
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BlockWOIndex goto 92
-+ Block goto 249
-+ Paragraph goto 248
-+ List goto 22
-+ Flow2 goto 247
-+ Preformatted goto 21
-+
-+ . reduce by rule 82
-+
-+
-+state 187:
-+
-+ Flow1 : Block . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 251
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 188:
-+
-+ Font : START_U TextList END_U . (reduce by rule 118)
-+
-+
-+
-+ . reduce by rule 118
-+
-+
-+state 189:
-+
-+ Font : START_TT TextList END_TT . (reduce by rule 115)
-+
-+
-+
-+ . reduce by rule 115
-+
-+
-+state 190:
-+
-+ Form : START_TEXTAREA PCData END_TEXTAREA . (reduce by rule 144)
-+
-+
-+
-+ . reduce by rule 144
-+
-+
-+state 191:
-+
-+ TableRowList : TableRow . (reduce by rule 95)
-+ TableRowList : TableRow . TableRowList
-+
-+ START_TR shift 193
-+
-+ TableRowList goto 252
-+ TableRow goto 191
-+
-+ . reduce by rule 95
-+
-+
-+state 192:
-+
-+ BlockWOIndex : START_TABLE optCaption TableRowList . END_TABLE
-+
-+ END_TABLE shift 253
-+
-+
-+ . error
-+
-+
-+state 193:
-+
-+ TableRow : START_TR . TableCellList
-+ TableRow : START_TR . TableCellList END_TR
-+
-+ START_TD shift 257
-+ START_TH shift 256
-+
-+ TableCellList goto 255
-+ TableCell goto 254
-+
-+ . error
-+
-+
-+state 194:
-+
-+ optCaption : START_CAPTION TextList . END_CAPTION
-+
-+ END_CAPTION shift 258
-+
-+
-+ . error
-+
-+
-+state 195:
-+
-+ Font : START_SUP TextList END_SUP . (reduce by rule 123)
-+
-+
-+
-+ . reduce by rule 123
-+
-+
-+state 196:
-+
-+ Font : START_SUB TextList END_SUB . (reduce by rule 122)
-+
-+
-+
-+ . reduce by rule 122
-+
-+
-+state 197:
-+
-+ Phrase : START_STRONG TextList END_STRONG . (reduce by rule 125)
-+
-+
-+
-+ . reduce by rule 125
-+
-+
-+state 198:
-+
-+ Font : START_STRIKE TextList END_STRIKE . (reduce by rule 119)
-+
-+
-+
-+ . reduce by rule 119
-+
-+
-+state 199:
-+
-+ Font : START_SMALL TextList END_SMALL . (reduce by rule 121)
-+
-+
-+
-+ . reduce by rule 121
-+
-+
-+state 200:
-+
-+ Form : START_SELECT OptionList END_SELECT . (reduce by rule 143)
-+
-+
-+
-+ . reduce by rule 143
-+
-+
-+state 201:
-+
-+ OptionList : START_OPTION PCData . EndOPTION OptionList
-+
-+ END_OPTION shift 260
-+
-+ EndOPTION goto 259
-+
-+ . reduce by rule 147
-+
-+
-+state 202:
-+
-+ Phrase : START_SAMP TextList END_SAMP . (reduce by rule 128)
-+
-+
-+
-+ . reduce by rule 128
-+
-+
-+state 203:
-+
-+ Preformatted : START_PRE TextList END_PRE . (reduce by rule 92)
-+
-+
-+
-+ . reduce by rule 92
-+
-+
-+state 204:
-+
-+ List : START_OL ListItemList END_OL . (reduce by rule 66)
-+
-+
-+
-+ . reduce by rule 66
-+
-+
-+state 205:
-+
-+ List : START_MENU ListItemList END_MENU . (reduce by rule 68)
-+
-+
-+
-+ . reduce by rule 68
-+
-+
-+state 206:
-+
-+ Special : START_MAP AreaList END_MAP . (reduce by rule 138)
-+
-+
-+
-+ . reduce by rule 138
-+
-+
-+state 207:
-+
-+ AreaList : TAG_AREA AreaList . (reduce by rule 141)
-+
-+
-+
-+ . reduce by rule 141
-+
-+
-+state 208:
-+
-+ Phrase : START_KBD TextList END_KBD . (reduce by rule 129)
-+
-+
-+
-+ . reduce by rule 129
-+
-+
-+state 209:
-+
-+ Font : START_I TextList END_I . (reduce by rule 116)
-+
-+
-+
-+ . reduce by rule 116
-+
-+
-+state 210:
-+
-+ BodyElement : START_H6 TextList END_H6 . (reduce by rule 45)
-+
-+
-+
-+ . reduce by rule 45
-+
-+
-+state 211:
-+
-+ BodyElement : START_H5 TextList END_H5 . (reduce by rule 44)
-+
-+
-+
-+ . reduce by rule 44
-+
-+
-+state 212:
-+
-+ BodyElement : START_H4 TextList END_H4 . (reduce by rule 43)
-+
-+
-+
-+ . reduce by rule 43
-+
-+
-+state 213:
-+
-+ BodyElement : START_H3 TextList END_H3 . (reduce by rule 42)
-+
-+
-+
-+ . reduce by rule 42
-+
-+
-+state 214:
-+
-+ BodyElement : START_H2 TextList END_H2 . (reduce by rule 41)
-+
-+
-+
-+ . reduce by rule 41
-+
-+
-+state 215:
-+
-+ BodyElement : START_H1 TextList END_H1 . (reduce by rule 40)
-+
-+
-+
-+ . reduce by rule 40
-+
-+
-+state 216:
-+
-+ BlockWOIndex : START_FORM BodyContent END_FORM . (reduce by rule 59)
-+
-+
-+
-+ . reduce by rule 59
-+
-+
-+state 217:
-+
-+ Special : START_BASEFONT TextList END_BASEFONT . (reduce by rule 136)
-+
-+
-+
-+ . reduce by rule 136
-+
-+
-+state 218:
-+
-+ Special : START_FONT TextList END_FONT . (reduce by rule 135)
-+
-+
-+
-+ . reduce by rule 135
-+
-+
-+state 219:
-+
-+ Phrase : START_EM TextList END_EM . (reduce by rule 124)
-+
-+
-+
-+ . reduce by rule 124
-+
-+
-+state 220:
-+
-+ DLItemList : DLItem DLItemList . (reduce by rule 74)
-+
-+
-+
-+ . reduce by rule 74
-+
-+
-+state 221:
-+
-+ List : START_DL DLItemList END_DL . (reduce by rule 69)
-+
-+
-+
-+ . reduce by rule 69
-+
-+
-+state 222:
-+
-+ DLItem : START_DT TextList . EndDT
-+
-+ END_DT shift 262
-+
-+ EndDT goto 261
-+
-+ . reduce by rule 88
-+
-+
-+state 223:
-+
-+ DLItem : START_DD Flow1 . EndDD
-+
-+ END_DD shift 264
-+
-+ EndDD goto 263
-+
-+ . reduce by rule 90
-+
-+
-+state 224:
-+
-+ BlockWOIndex : START_DIV BodyContent END_DIV . (reduce by rule 56)
-+
-+
-+
-+ . reduce by rule 56
-+
-+
-+state 225:
-+
-+ List : START_DIR ListItemList END_DIR . (reduce by rule 67)
-+
-+
-+
-+ . reduce by rule 67
-+
-+
-+state 226:
-+
-+ Phrase : START_DFN TextList END_DFN . (reduce by rule 127)
-+
-+
-+
-+ . reduce by rule 127
-+
-+
-+state 227:
-+
-+ Phrase : START_CODE TextList END_CODE . (reduce by rule 126)
-+
-+
-+
-+ . reduce by rule 126
-+
-+
-+state 228:
-+
-+ Phrase : START_CITE TextList END_CITE . (reduce by rule 131)
-+
-+
-+
-+ . reduce by rule 131
-+
-+
-+state 229:
-+
-+ BlockWOIndex : START_CENTER BodyContent END_CENTER . (reduce by rule 57)
-+
-+
-+
-+ . reduce by rule 57
-+
-+
-+state 230:
-+
-+ BlockWOIndex : START_BLOCKQUOTE BodyContent END_BLOCKQUOTE . (reduce by rule 58)
-+
-+
-+
-+ . reduce by rule 58
-+
-+
-+state 231:
-+
-+ Font : START_BIG TextList END_BIG . (reduce by rule 120)
-+
-+
-+
-+ . reduce by rule 120
-+
-+
-+state 232:
-+
-+ Font : START_B TextList END_B . (reduce by rule 117)
-+
-+
-+
-+ . reduce by rule 117
-+
-+
-+state 233:
-+
-+ Special : START_APPLET TextList END_APPLET . (reduce by rule 134)
-+
-+
-+
-+ . reduce by rule 134
-+
-+
-+state 234:
-+
-+ AddressContent1 : Text AddressContent1 . (reduce by rule 48)
-+
-+
-+
-+ . reduce by rule 48
-+
-+
-+state 235:
-+
-+ AddressContent2 : Paragraph . END_P AddressContent1
-+ AddressContent2 : Paragraph . AddressContent2
-+
-+ START_P shift 46
-+ END_P shift 266
-+
-+ AddressContent2 goto 265
-+ Paragraph goto 235
-+
-+ . reduce by rule 51
-+
-+
-+state 236:
-+
-+ AddressContent1 : Paragraph AddressContent2 . (reduce by rule 50)
-+
-+
-+
-+ . reduce by rule 50
-+
-+
-+state 237:
-+
-+ AddressContent1 : Paragraph END_P . AddressContent1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 267
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 238:
-+
-+ BodyElement : START_ADDRESS AddressContent1 END_ADDRESS . (reduce by rule 46)
-+
-+
-+
-+ . reduce by rule 46
-+
-+
-+state 239:
-+
-+ Special : START_A TextList END_A . (reduce by rule 132)
-+
-+
-+
-+ . reduce by rule 132
-+
-+
-+state 240:
-+
-+ HeadContents : HeadElements START_TITLE PCData END_TITLE . HeadElements
-+
-+ TAG_BASE shift 14
-+ TAG_ISINDEX shift 13
-+ TAG_LINK shift 12
-+ TAG_META shift 11
-+ START_SCRIPT shift 10
-+ START_STYLE shift 9
-+
-+ HeadElements goto 268
-+ HeadElement goto 6
-+
-+ . reduce by rule 11
-+
-+
-+state 241:
-+
-+ BodyContent1 : Paragraph END_P BodyContent1 . (reduce by rule 33)
-+
-+
-+
-+ . reduce by rule 33
-+
-+
-+state 242:
-+
-+ Text : START_SCRIPT PCData END_SCRIPT . (reduce by rule 114)
-+
-+
-+
-+ . reduce by rule 114
-+
-+
-+state 243:
-+
-+ BodyContent2 : Paragraph END_P BodyContent1 . (reduce by rule 38)
-+
-+
-+
-+ . reduce by rule 38
-+
-+
-+state 244:
-+
-+ Flow1 : Text Flow1 . (reduce by rule 78)
-+
-+
-+
-+ . reduce by rule 78
-+
-+
-+state 245:
-+
-+ ListItem : START_LI Flow1 EndLI . (reduce by rule 72)
-+
-+
-+
-+ . reduce by rule 72
-+
-+
-+state 246:
-+
-+ EndLI : END_LI . (reduce by rule 87)
-+
-+
-+
-+ . reduce by rule 87
-+
-+
-+state 247:
-+
-+ Flow1 : Paragraph Flow2 . (reduce by rule 81)
-+
-+
-+
-+ . reduce by rule 81
-+
-+
-+state 248:
-+
-+ Flow2 : Paragraph . END_P Flow1
-+ Flow2 : Paragraph . Flow2
-+
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 270
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BlockWOIndex goto 92
-+ Block goto 249
-+ Paragraph goto 248
-+ List goto 22
-+ Flow2 goto 269
-+ Preformatted goto 21
-+
-+ . reduce by rule 82
-+
-+
-+state 249:
-+
-+ Flow2 : Block . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 271
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 250:
-+
-+ Flow1 : Paragraph END_P . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 272
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 251:
-+
-+ Flow1 : Block Flow1 . (reduce by rule 79)
-+
-+
-+
-+ . reduce by rule 79
-+
-+
-+state 252:
-+
-+ TableRowList : TableRow TableRowList . (reduce by rule 96)
-+
-+
-+
-+ . reduce by rule 96
-+
-+
-+state 253:
-+
-+ BlockWOIndex : START_TABLE optCaption TableRowList END_TABLE . (reduce by rule 61)
-+
-+
-+
-+ . reduce by rule 61
-+
-+
-+state 254:
-+
-+ TableCellList : TableCell . (reduce by rule 99)
-+ TableCellList : TableCell . TableCellList
-+
-+ START_TD shift 257
-+ START_TH shift 256
-+
-+ TableCellList goto 273
-+ TableCell goto 254
-+
-+ . reduce by rule 99
-+
-+
-+state 255:
-+
-+ TableRow : START_TR TableCellList . (reduce by rule 97)
-+ TableRow : START_TR TableCellList . END_TR
-+
-+ END_TR shift 274
-+
-+
-+ . reduce by rule 97
-+
-+
-+state 256:
-+
-+ TableCell : START_TH . BodyContent END_TH
-+ TableCell : START_TH . BodyContent
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 275
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 257:
-+
-+ TableCell : START_TD . BodyContent END_TD
-+ TableCell : START_TD . BodyContent
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 276
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 258:
-+
-+ optCaption : START_CAPTION TextList END_CAPTION . (reduce by rule 94)
-+
-+
-+
-+ . reduce by rule 94
-+
-+
-+state 259:
-+
-+ OptionList : START_OPTION PCData EndOPTION . OptionList
-+
-+ START_OPTION shift 125
-+
-+ OptionList goto 277
-+
-+ . reduce by rule 145
-+
-+
-+state 260:
-+
-+ EndOPTION : END_OPTION . (reduce by rule 148)
-+
-+
-+
-+ . reduce by rule 148
-+
-+
-+state 261:
-+
-+ DLItem : START_DT TextList EndDT . (reduce by rule 75)
-+
-+
-+
-+ . reduce by rule 75
-+
-+
-+state 262:
-+
-+ EndDT : END_DT . (reduce by rule 89)
-+
-+
-+
-+ . reduce by rule 89
-+
-+
-+state 263:
-+
-+ DLItem : START_DD Flow1 EndDD . (reduce by rule 76)
-+
-+
-+
-+ . reduce by rule 76
-+
-+
-+state 264:
-+
-+ EndDD : END_DD . (reduce by rule 91)
-+
-+
-+
-+ . reduce by rule 91
-+
-+
-+state 265:
-+
-+ AddressContent2 : Paragraph AddressContent2 . (reduce by rule 53)
-+
-+
-+
-+ . reduce by rule 53
-+
-+
-+state 266:
-+
-+ AddressContent2 : Paragraph END_P . AddressContent1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 278
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 267:
-+
-+ AddressContent1 : Paragraph END_P AddressContent1 . (reduce by rule 49)
-+
-+
-+
-+ . reduce by rule 49
-+
-+
-+state 268:
-+
-+ HeadContents : HeadElements START_TITLE PCData END_TITLE HeadElements . (reduce by rule 10)
-+
-+
-+
-+ . reduce by rule 10
-+
-+
-+state 269:
-+
-+ Flow2 : Paragraph Flow2 . (reduce by rule 85)
-+
-+
-+
-+ . reduce by rule 85
-+
-+
-+state 270:
-+
-+ Flow2 : Paragraph END_P . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 279
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 271:
-+
-+ Flow2 : Block Flow1 . (reduce by rule 83)
-+
-+
-+
-+ . reduce by rule 83
-+
-+
-+state 272:
-+
-+ Flow1 : Paragraph END_P Flow1 . (reduce by rule 80)
-+
-+
-+
-+ . reduce by rule 80
-+
-+
-+state 273:
-+
-+ TableCellList : TableCell TableCellList . (reduce by rule 100)
-+
-+
-+
-+ . reduce by rule 100
-+
-+
-+state 274:
-+
-+ TableRow : START_TR TableCellList END_TR . (reduce by rule 98)
-+
-+
-+
-+ . reduce by rule 98
-+
-+
-+state 275:
-+
-+ TableCell : START_TH BodyContent . END_TH
-+ TableCell : START_TH BodyContent . (reduce by rule 102)
-+
-+ END_TH shift 280
-+
-+
-+ . reduce by rule 102
-+
-+
-+state 276:
-+
-+ TableCell : START_TD BodyContent . END_TD
-+ TableCell : START_TD BodyContent . (reduce by rule 104)
-+
-+ END_TD shift 281
-+
-+
-+ . reduce by rule 104
-+
-+
-+state 277:
-+
-+ OptionList : START_OPTION PCData EndOPTION OptionList . (reduce by rule 146)
-+
-+
-+
-+ . reduce by rule 146
-+
-+
-+state 278:
-+
-+ AddressContent2 : Paragraph END_P AddressContent1 . (reduce by rule 52)
-+
-+
-+
-+ . reduce by rule 52
-+
-+
-+state 279:
-+
-+ Flow2 : Paragraph END_P Flow1 . (reduce by rule 84)
-+
-+
-+
-+ . reduce by rule 84
-+
-+
-+state 280:
-+
-+ TableCell : START_TH BodyContent END_TH . (reduce by rule 101)
-+
-+
-+
-+ . reduce by rule 101
-+
-+
-+state 281:
-+
-+ TableCell : START_TD BodyContent END_TD . (reduce by rule 103)
-+
-+
-+
-+ . reduce by rule 103
-+
-+
-+state 282:
-+
-+
-+ EOF accept
-+
-+
-+ . error
-+
-+398 of 2987 action table entries left after compaction
-+788 goto table entries
-diff -Naur smlnj-lib/HTML/html-gram.sig smlnj-lib-mlton/HTML/html-gram.sig
---- smlnj-lib/HTML/html-gram.sig 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-gram.sig 2005-08-18 12:09:03.000000000 -0400
-@@ -0,0 +1,140 @@
-+signature HTML_TOKENS =
-+sig
-+type ('a,'b) token
-+type svalue
-+val ENTITY_REF: (string) * 'a * 'a -> (svalue,'a) token
-+val CHAR_REF: (string) * 'a * 'a -> (svalue,'a) token
-+val PCDATA: (string) * 'a * 'a -> (svalue,'a) token
-+val END_VAR: 'a * 'a -> (svalue,'a) token
-+val START_VAR: 'a * 'a -> (svalue,'a) token
-+val END_UL: 'a * 'a -> (svalue,'a) token
-+val START_UL: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_U: 'a * 'a -> (svalue,'a) token
-+val START_U: 'a * 'a -> (svalue,'a) token
-+val END_TT: 'a * 'a -> (svalue,'a) token
-+val START_TT: 'a * 'a -> (svalue,'a) token
-+val END_TR: 'a * 'a -> (svalue,'a) token
-+val START_TR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TITLE: 'a * 'a -> (svalue,'a) token
-+val START_TITLE: 'a * 'a -> (svalue,'a) token
-+val END_TH: 'a * 'a -> (svalue,'a) token
-+val START_TH: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TEXTAREA: 'a * 'a -> (svalue,'a) token
-+val START_TEXTAREA: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TD: 'a * 'a -> (svalue,'a) token
-+val START_TD: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TABLE: 'a * 'a -> (svalue,'a) token
-+val START_TABLE: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_SUP: 'a * 'a -> (svalue,'a) token
-+val START_SUP: 'a * 'a -> (svalue,'a) token
-+val END_SUB: 'a * 'a -> (svalue,'a) token
-+val START_SUB: 'a * 'a -> (svalue,'a) token
-+val END_STYLE: 'a * 'a -> (svalue,'a) token
-+val START_STYLE: 'a * 'a -> (svalue,'a) token
-+val END_STRONG: 'a * 'a -> (svalue,'a) token
-+val START_STRONG: 'a * 'a -> (svalue,'a) token
-+val END_STRIKE: 'a * 'a -> (svalue,'a) token
-+val START_STRIKE: 'a * 'a -> (svalue,'a) token
-+val END_SMALL: 'a * 'a -> (svalue,'a) token
-+val START_SMALL: 'a * 'a -> (svalue,'a) token
-+val END_SELECT: 'a * 'a -> (svalue,'a) token
-+val START_SELECT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_SCRIPT: 'a * 'a -> (svalue,'a) token
-+val START_SCRIPT: 'a * 'a -> (svalue,'a) token
-+val END_SAMP: 'a * 'a -> (svalue,'a) token
-+val START_SAMP: 'a * 'a -> (svalue,'a) token
-+val END_PRE: 'a * 'a -> (svalue,'a) token
-+val START_PRE: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_PARAM: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_P: 'a * 'a -> (svalue,'a) token
-+val START_P: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_OPTION: 'a * 'a -> (svalue,'a) token
-+val START_OPTION: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_OL: 'a * 'a -> (svalue,'a) token
-+val START_OL: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_META: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_MENU: 'a * 'a -> (svalue,'a) token
-+val START_MENU: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_MAP: 'a * 'a -> (svalue,'a) token
-+val START_MAP: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_LINK: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_LI: 'a * 'a -> (svalue,'a) token
-+val START_LI: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_KBD: 'a * 'a -> (svalue,'a) token
-+val START_KBD: 'a * 'a -> (svalue,'a) token
-+val TAG_ISINDEX: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_INPUT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_IMG: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_I: 'a * 'a -> (svalue,'a) token
-+val START_I: 'a * 'a -> (svalue,'a) token
-+val END_HTML: 'a * 'a -> (svalue,'a) token
-+val START_HTML: 'a * 'a -> (svalue,'a) token
-+val TAG_HR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_HEAD: 'a * 'a -> (svalue,'a) token
-+val START_HEAD: 'a * 'a -> (svalue,'a) token
-+val END_H6: 'a * 'a -> (svalue,'a) token
-+val START_H6: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H5: 'a * 'a -> (svalue,'a) token
-+val START_H5: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H4: 'a * 'a -> (svalue,'a) token
-+val START_H4: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H3: 'a * 'a -> (svalue,'a) token
-+val START_H3: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H2: 'a * 'a -> (svalue,'a) token
-+val START_H2: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H1: 'a * 'a -> (svalue,'a) token
-+val START_H1: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_FORM: 'a * 'a -> (svalue,'a) token
-+val START_FORM: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_BASEFONT: 'a * 'a -> (svalue,'a) token
-+val START_BASEFONT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_FONT: 'a * 'a -> (svalue,'a) token
-+val START_FONT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_EM: 'a * 'a -> (svalue,'a) token
-+val START_EM: 'a * 'a -> (svalue,'a) token
-+val END_DT: 'a * 'a -> (svalue,'a) token
-+val START_DT: 'a * 'a -> (svalue,'a) token
-+val END_DL: 'a * 'a -> (svalue,'a) token
-+val START_DL: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_DIV: 'a * 'a -> (svalue,'a) token
-+val START_DIV: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_DIR: 'a * 'a -> (svalue,'a) token
-+val START_DIR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_DFN: 'a * 'a -> (svalue,'a) token
-+val START_DFN: 'a * 'a -> (svalue,'a) token
-+val END_DD: 'a * 'a -> (svalue,'a) token
-+val START_DD: 'a * 'a -> (svalue,'a) token
-+val END_CODE: 'a * 'a -> (svalue,'a) token
-+val START_CODE: 'a * 'a -> (svalue,'a) token
-+val END_CITE: 'a * 'a -> (svalue,'a) token
-+val START_CITE: 'a * 'a -> (svalue,'a) token
-+val END_CENTER: 'a * 'a -> (svalue,'a) token
-+val START_CENTER: 'a * 'a -> (svalue,'a) token
-+val END_CAPTION: 'a * 'a -> (svalue,'a) token
-+val START_CAPTION: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_BR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_BODY: 'a * 'a -> (svalue,'a) token
-+val START_BODY: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_BLOCKQUOTE: 'a * 'a -> (svalue,'a) token
-+val START_BLOCKQUOTE: 'a * 'a -> (svalue,'a) token
-+val END_BIG: 'a * 'a -> (svalue,'a) token
-+val START_BIG: 'a * 'a -> (svalue,'a) token
-+val TAG_BASE: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_B: 'a * 'a -> (svalue,'a) token
-+val START_B: 'a * 'a -> (svalue,'a) token
-+val TAG_AREA: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_APPLET: 'a * 'a -> (svalue,'a) token
-+val START_APPLET: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_ADDRESS: 'a * 'a -> (svalue,'a) token
-+val START_ADDRESS: 'a * 'a -> (svalue,'a) token
-+val END_A: 'a * 'a -> (svalue,'a) token
-+val START_A: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val EOF: 'a * 'a -> (svalue,'a) token
-+end
-+signature HTML_LRVALS=
-+sig
-+structure Tokens : HTML_TOKENS
-+structure ParserData:PARSER_DATA
-+sharing type ParserData.Token.token = Tokens.token
-+sharing type ParserData.svalue = Tokens.svalue
-+end
diff -Naur smlnj-lib/HTML/html-gram.sml smlnj-lib-mlton/HTML/html-gram.sml
---- smlnj-lib/HTML/html-gram.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-gram.sml 2005-08-18 12:09:03.000000000 -0400
-@@ -0,0 +1,2478 @@
-+
-+
-+ functor HTMLLrValsFn (
-+ structure Token : TOKEN
-+ structure HTMLAttrs : HTML_ATTRS) =
-+struct
-+structure ParserData=
-+struct
-+structure Header =
-+struct
-+(* html-gram
-+ *
-+ * COPYRIGHT (c) 1996 AT&T Research.
-+ *
-+ * This grammar parses HTML 3.2. Note that it does not enforce exclusions
-+ * (for the content of FORM, PRE, etc). Exclusions should be enforced as
-+ * a second pass over the parse tree.
-+ *)
-+
-+fun textList [text] = text
-+ | textList l = HTML.TextList l
-+
-+fun blockList [blk] = blk
-+ | blockList l = HTML.BlockList l
-+
-+fun textBlock l = HTML.TextBlock(textList l)
-+
-+(* The elements of a definition list (<DL>) are tags (<DT>) and items (<DD>).
-+ * To avoid shift/reduce problems, we parse them and then group them.
-+ *)
-+datatype deflist_item
-+ = DL_tag of HTML.text
-+ | DL_item of HTML.block
-+
-+fun groupDefListContents [] = []
-+ | groupDefListContents (h :: t) = let
-+ fun gdlc (DL_tag tag, []) = ({dt=[tag], dd=HTML.BlockList[]}, [])
-+ | gdlc (DL_tag tag, h :: t) = let
-+ val ({dt, dd}, r) = gdlc (h, t)
-+ in
-+ ({dt = tag :: dt, dd = dd}, r)
-+ end
-+ | gdlc (DL_item blk, r) = ({dt=[],dd=blk}, groupDefListContents r)
-+ in
-+ op :: (gdlc (h, t))
-+ end
-+
-+(* A list of Text, paragraphs and blocks requires grouping the Text items and
-+ * making an implicit paragraph. We cannot directly use TextList because of
-+ * conflicts.
-+ *)
-+datatype blklist_item
-+ = BL_text of HTML.text list
-+ | BL_block of HTML.block list
-+
-+fun consText (txt, BL_text tl :: r) = BL_text(txt::tl) :: r
-+ | consText (txt, l) = BL_text[txt] :: l
-+
-+fun consBlock (blk, BL_block bl :: r) = BL_block(blk::bl) :: r
-+ | consBlock (blk, l) = BL_block[blk] :: l
-+
-+fun mkBlock blks = let
-+ fun f (BL_text tl) = textBlock tl
-+ | f (BL_block bl) = blockList bl
-+ in
-+ blockList(List.map f blks)
-+ end
-+
-+fun mkBody blks = HTML.BODY{
-+ background = NONE,
-+ bgcolor = NONE,
-+ text = NONE,
-+ link = NONE,
-+ vlink = NONE,
-+ alink = NONE,
-+ content = mkBlock blks
-+ }
-+
-+
-+end
-+structure LrTable = Token.LrTable
-+structure Token = Token
-+local open LrTable in
-+val table=let val actionRows =
-+"\
-+\\001\000\001\000\000\000\000\000\
-+\\001\000\002\000\081\000\004\000\080\000\006\000\079\000\009\000\078\000\
-+\\012\000\077\000\014\000\076\000\016\000\075\000\018\000\074\000\
-+\\021\000\073\000\023\000\072\000\025\000\071\000\029\000\070\000\
-+\\031\000\069\000\033\000\068\000\035\000\067\000\039\000\066\000\
-+\\041\000\065\000\043\000\064\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\064\000\055\000\066\000\054\000\
-+\\067\000\053\000\069\000\052\000\074\000\051\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\085\000\047\000\086\000\046\000\
-+\\088\000\045\000\092\000\044\000\094\000\043\000\096\000\042\000\
-+\\098\000\041\000\102\000\040\000\104\000\039\000\106\000\038\000\
-+\\110\000\037\000\118\000\036\000\120\000\035\000\122\000\034\000\
-+\\124\000\033\000\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
-+\\001\000\003\000\241\000\000\000\
-+\\001\000\005\000\240\000\000\000\
-+\\001\000\007\000\235\000\000\000\
-+\\001\000\010\000\234\000\000\000\
-+\\001\000\013\000\233\000\000\000\
-+\\001\000\015\000\232\000\000\000\
-+\\001\000\020\000\004\001\000\000\
-+\\001\000\022\000\231\000\000\000\
-+\\001\000\024\000\230\000\000\000\
-+\\001\000\026\000\229\000\000\000\
-+\\001\000\030\000\228\000\000\000\
-+\\001\000\032\000\227\000\000\000\
-+\\001\000\034\000\226\000\000\000\
-+\\001\000\036\000\223\000\000\000\
-+\\001\000\040\000\221\000\000\000\
-+\\001\000\042\000\220\000\000\000\
-+\\001\000\044\000\219\000\000\000\
-+\\001\000\046\000\218\000\000\000\
-+\\001\000\048\000\217\000\000\000\
-+\\001\000\050\000\216\000\000\000\
-+\\001\000\052\000\215\000\000\000\
-+\\001\000\054\000\214\000\000\000\
-+\\001\000\056\000\213\000\000\000\
-+\\001\000\058\000\212\000\000\000\
-+\\001\000\065\000\211\000\000\000\
-+\\001\000\070\000\210\000\000\000\
-+\\001\000\075\000\208\000\000\000\
-+\\001\000\077\000\207\000\000\000\
-+\\001\000\080\000\206\000\000\000\
-+\\001\000\087\000\205\000\000\000\
-+\\001\000\089\000\204\000\000\000\
-+\\001\000\091\000\170\000\000\000\
-+\\001\000\091\000\244\000\000\000\
-+\\001\000\093\000\202\000\000\000\
-+\\001\000\095\000\201\000\000\000\
-+\\001\000\097\000\200\000\000\000\
-+\\001\000\099\000\199\000\000\000\
-+\\001\000\101\000\169\000\000\000\
-+\\001\000\103\000\198\000\000\000\
-+\\001\000\105\000\197\000\000\000\
-+\\001\000\107\000\255\000\000\000\
-+\\001\000\108\000\003\001\112\000\002\001\000\000\
-+\\001\000\111\000\192\000\000\000\
-+\\001\000\114\000\083\000\000\000\
-+\\001\000\115\000\242\000\000\000\
-+\\001\000\116\000\195\000\000\000\
-+\\001\000\119\000\191\000\000\000\
-+\\001\000\121\000\190\000\000\000\
-+\\001\000\123\000\185\000\000\000\
-+\\001\000\125\000\183\000\000\000\
-+\\029\001\000\000\
-+\\030\001\062\000\004\000\000\000\
-+\\031\001\000\000\
-+\\032\001\063\000\109\000\000\000\
-+\\033\001\000\000\
-+\\034\001\000\000\
-+\\035\001\059\000\007\000\000\000\
-+\\036\001\000\000\
-+\\037\001\060\000\085\000\000\000\
-+\\038\001\000\000\
-+\\039\001\000\000\
-+\\040\001\011\000\016\000\068\000\015\000\073\000\014\000\078\000\013\000\
-+\\090\000\012\000\100\000\011\000\000\000\
-+\\041\001\000\000\
-+\\042\001\000\000\
-+\\043\001\000\000\
-+\\044\001\000\000\
-+\\045\001\000\000\
-+\\046\001\000\000\
-+\\047\001\000\000\
-+\\048\001\000\000\
-+\\049\001\017\000\107\000\000\000\
-+\\050\001\000\000\
-+\\051\001\000\000\
-+\\052\001\000\000\
-+\\053\001\000\000\
-+\\054\001\000\000\
-+\\055\001\000\000\
-+\\056\001\000\000\
-+\\057\001\000\000\
-+\\058\001\002\000\081\000\004\000\080\000\006\000\079\000\009\000\078\000\
-+\\012\000\077\000\014\000\076\000\018\000\074\000\021\000\073\000\
-+\\023\000\072\000\025\000\071\000\029\000\070\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\039\000\066\000\041\000\065\000\
-+\\043\000\064\000\045\000\063\000\047\000\062\000\049\000\061\000\
-+\\051\000\060\000\053\000\059\000\055\000\058\000\057\000\057\000\
-+\\061\000\056\000\064\000\055\000\066\000\054\000\067\000\053\000\
-+\\068\000\098\000\069\000\052\000\074\000\051\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\085\000\047\000\086\000\046\000\
-+\\088\000\045\000\090\000\097\000\092\000\044\000\094\000\043\000\
-+\\096\000\042\000\098\000\041\000\102\000\040\000\104\000\039\000\
-+\\106\000\038\000\110\000\037\000\118\000\036\000\120\000\035\000\
-+\\122\000\034\000\124\000\033\000\126\000\032\000\127\000\031\000\
-+\\128\000\030\000\000\000\
-+\\059\001\000\000\
-+\\060\001\000\000\
-+\\061\001\000\000\
-+\\062\001\000\000\
-+\\063\001\000\000\
-+\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\084\000\103\000\086\000\046\000\
-+\\106\000\038\000\122\000\034\000\000\000\
-+\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\084\000\173\000\086\000\046\000\
-+\\106\000\038\000\122\000\034\000\000\000\
-+\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\084\000\178\000\086\000\046\000\
-+\\106\000\038\000\122\000\034\000\000\000\
-+\\065\001\000\000\
-+\\066\001\000\000\
-+\\067\001\000\000\
-+\\068\001\000\000\
-+\\069\001\000\000\
-+\\070\001\000\000\
-+\\071\001\000\000\
-+\\072\001\000\000\
-+\\073\001\000\000\
-+\\074\001\000\000\
-+\\075\001\000\000\
-+\\076\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
-+\\018\000\074\000\023\000\072\000\025\000\071\000\029\000\070\000\
-+\\039\000\066\000\041\000\065\000\043\000\064\000\064\000\055\000\
-+\\066\000\054\000\067\000\053\000\069\000\052\000\074\000\051\000\
-+\\083\000\048\000\085\000\047\000\088\000\045\000\090\000\097\000\
-+\\092\000\044\000\094\000\043\000\096\000\042\000\098\000\041\000\
-+\\102\000\040\000\104\000\039\000\110\000\037\000\118\000\036\000\
-+\\120\000\035\000\124\000\033\000\126\000\032\000\127\000\031\000\
-+\\128\000\030\000\000\000\
-+\\077\001\000\000\
-+\\078\001\000\000\
-+\\079\001\000\000\
-+\\080\001\083\000\048\000\084\000\239\000\000\000\
-+\\080\001\083\000\048\000\084\000\012\001\000\000\
-+\\081\001\000\000\
-+\\082\001\000\000\
-+\\083\001\000\000\
-+\\084\001\000\000\
-+\\085\001\000\000\
-+\\086\001\000\000\
-+\\087\001\000\000\
-+\\088\001\000\000\
-+\\089\001\000\000\
-+\\090\001\000\000\
-+\\091\001\000\000\
-+\\092\001\000\000\
-+\\093\001\000\000\
-+\\094\001\000\000\
-+\\095\001\000\000\
-+\\096\001\000\000\
-+\\097\001\000\000\
-+\\098\001\000\000\
-+\\099\001\071\000\115\000\000\000\
-+\\100\001\000\000\
-+\\101\001\000\000\
-+\\102\001\027\000\151\000\037\000\150\000\000\000\
-+\\103\001\000\000\
-+\\104\001\000\000\
-+\\105\001\000\000\
-+\\106\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
-+\\014\000\076\000\018\000\074\000\021\000\073\000\023\000\072\000\
-+\\025\000\071\000\029\000\070\000\031\000\069\000\033\000\068\000\
-+\\035\000\067\000\039\000\066\000\041\000\065\000\043\000\064\000\
-+\\045\000\063\000\061\000\056\000\064\000\055\000\066\000\054\000\
-+\\067\000\053\000\068\000\098\000\069\000\052\000\074\000\051\000\
-+\\076\000\050\000\079\000\049\000\083\000\048\000\085\000\047\000\
-+\\086\000\046\000\088\000\045\000\090\000\097\000\092\000\044\000\
-+\\094\000\043\000\096\000\042\000\098\000\041\000\102\000\040\000\
-+\\104\000\039\000\106\000\038\000\110\000\037\000\118\000\036\000\
-+\\120\000\035\000\122\000\034\000\124\000\033\000\126\000\032\000\
-+\\127\000\031\000\128\000\030\000\000\000\
-+\\107\001\000\000\
-+\\108\001\000\000\
-+\\109\001\000\000\
-+\\110\001\000\000\
-+\\111\001\014\000\076\000\021\000\073\000\031\000\069\000\033\000\068\000\
-+\\035\000\067\000\045\000\063\000\061\000\056\000\068\000\098\000\
-+\\076\000\050\000\079\000\049\000\083\000\048\000\084\000\252\000\
-+\\086\000\046\000\106\000\038\000\122\000\034\000\000\000\
-+\\111\001\014\000\076\000\021\000\073\000\031\000\069\000\033\000\068\000\
-+\\035\000\067\000\045\000\063\000\061\000\056\000\068\000\098\000\
-+\\076\000\050\000\079\000\049\000\083\000\048\000\084\000\016\001\
-+\\086\000\046\000\106\000\038\000\122\000\034\000\000\000\
-+\\112\001\000\000\
-+\\113\001\000\000\
-+\\114\001\000\000\
-+\\115\001\072\000\248\000\000\000\
-+\\116\001\000\000\
-+\\117\001\038\000\008\001\000\000\
-+\\118\001\000\000\
-+\\119\001\028\000\010\001\000\000\
-+\\120\001\000\000\
-+\\121\001\000\000\
-+\\122\001\019\000\120\000\000\000\
-+\\123\001\000\000\
-+\\124\001\116\000\195\000\000\000\
-+\\125\001\000\000\
-+\\126\001\117\000\020\001\000\000\
-+\\127\001\000\000\
-+\\128\001\108\000\003\001\112\000\002\001\000\000\
-+\\129\001\000\000\
-+\\130\001\000\000\
-+\\131\001\113\000\026\001\000\000\
-+\\132\001\000\000\
-+\\133\001\109\000\027\001\000\000\
-+\\134\001\000\000\
-+\\135\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
-+\\018\000\074\000\023\000\072\000\025\000\071\000\029\000\070\000\
-+\\039\000\066\000\041\000\065\000\043\000\064\000\064\000\055\000\
-+\\066\000\054\000\067\000\053\000\069\000\052\000\074\000\051\000\
-+\\085\000\047\000\088\000\045\000\090\000\097\000\092\000\044\000\
-+\\094\000\043\000\096\000\042\000\098\000\041\000\102\000\040\000\
-+\\104\000\039\000\110\000\037\000\118\000\036\000\120\000\035\000\
-+\\124\000\033\000\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
-+\\136\001\000\000\
-+\\137\001\000\000\
-+\\138\001\000\000\
-+\\139\001\000\000\
-+\\140\001\000\000\
-+\\141\001\000\000\
-+\\142\001\000\000\
-+\\143\001\000\000\
-+\\144\001\000\000\
-+\\145\001\000\000\
-+\\146\001\000\000\
-+\\147\001\000\000\
-+\\148\001\000\000\
-+\\149\001\000\000\
-+\\150\001\000\000\
-+\\151\001\000\000\
-+\\152\001\000\000\
-+\\153\001\000\000\
-+\\154\001\000\000\
-+\\155\001\000\000\
-+\\156\001\000\000\
-+\\157\001\000\000\
-+\\158\001\000\000\
-+\\159\001\000\000\
-+\\160\001\000\000\
-+\\161\001\000\000\
-+\\162\001\000\000\
-+\\163\001\000\000\
-+\\164\001\000\000\
-+\\165\001\000\000\
-+\\166\001\000\000\
-+\\167\001\000\000\
-+\\168\001\000\000\
-+\\169\001\008\000\134\000\000\000\
-+\\170\001\000\000\
-+\\171\001\000\000\
-+\\172\001\000\000\
-+\\173\001\000\000\
-+\\174\001\081\000\127\000\000\000\
-+\\175\001\000\000\
-+\\176\001\082\000\006\001\000\000\
-+\\177\001\000\000\
-+\\178\001\000\000\
-+\\179\001\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
-+\\180\001\000\000\
-+\\181\001\000\000\
-+\\182\001\000\000\
-+\\183\001\000\000\
-+\"
-+val actionRowNumbers =
-+"\053\000\058\000\054\000\063\000\
-+\\001\000\059\000\063\000\045\000\
-+\\060\000\206\000\206\000\065\000\
-+\\066\000\067\000\068\000\164\000\
-+\\168\000\167\000\166\000\165\000\
-+\\081\000\110\000\109\000\087\000\
-+\\081\000\081\000\072\000\055\000\
-+\\210\000\209\000\208\000\162\000\
-+\\125\000\162\000\162\000\206\000\
-+\\149\000\162\000\162\000\162\000\
-+\\162\000\162\000\201\000\162\000\
-+\\162\000\195\000\162\000\125\000\
-+\\125\000\196\000\162\000\198\000\
-+\\189\000\162\000\115\000\162\000\
-+\\162\000\162\000\162\000\162\000\
-+\\162\000\081\000\162\000\162\000\
-+\\162\000\128\000\081\000\125\000\
-+\\162\000\162\000\162\000\081\000\
-+\\193\000\081\000\081\000\162\000\
-+\\162\000\162\000\101\000\162\000\
-+\\064\000\206\000\057\000\061\000\
-+\\206\000\205\000\039\000\033\000\
-+\\081\000\169\000\088\000\081\000\
-+\\117\000\081\000\076\000\206\000\
-+\\118\000\089\000\081\000\081\000\
-+\\080\000\081\000\078\000\077\000\
-+\\071\000\073\000\052\000\056\000\
-+\\162\000\161\000\051\000\125\000\
-+\\050\000\132\000\049\000\048\000\
-+\\044\000\047\000\162\000\041\000\
-+\\040\000\038\000\037\000\036\000\
-+\\035\000\206\000\032\000\031\000\
-+\\119\000\030\000\029\000\028\000\
-+\\196\000\027\000\026\000\025\000\
-+\\024\000\023\000\022\000\021\000\
-+\\020\000\074\000\019\000\018\000\
-+\\017\000\016\000\128\000\015\000\
-+\\162\000\132\000\014\000\013\000\
-+\\012\000\011\000\010\000\009\000\
-+\\075\000\007\000\006\000\005\000\
-+\\004\000\101\000\105\000\003\000\
-+\\002\000\046\000\207\000\069\000\
-+\\070\000\082\000\086\000\081\000\
-+\\084\000\083\000\034\000\093\000\
-+\\081\000\091\000\090\000\079\000\
-+\\163\000\186\000\126\000\120\000\
-+\\132\000\142\000\137\000\132\000\
-+\\174\000\171\000\200\000\151\000\
-+\\042\000\043\000\008\000\179\000\
-+\\178\000\181\000\175\000\177\000\
-+\\199\000\203\000\184\000\148\000\
-+\\121\000\123\000\194\000\197\000\
-+\\185\000\172\000\099\000\098\000\
-+\\097\000\096\000\095\000\094\000\
-+\\114\000\192\000\191\000\180\000\
-+\\129\000\124\000\144\000\146\000\
-+\\111\000\122\000\183\000\182\000\
-+\\187\000\112\000\113\000\176\000\
-+\\173\000\190\000\102\000\106\000\
-+\\104\000\101\000\100\000\188\000\
-+\\063\000\085\000\170\000\092\000\
-+\\133\000\127\000\143\000\136\000\
-+\\138\000\132\000\132\000\134\000\
-+\\152\000\116\000\155\000\153\000\
-+\\081\000\081\000\150\000\201\000\
-+\\204\000\130\000\145\000\131\000\
-+\\147\000\108\000\101\000\103\000\
-+\\062\000\141\000\132\000\139\000\
-+\\135\000\156\000\154\000\158\000\
-+\\160\000\202\000\107\000\140\000\
-+\\157\000\159\000\000\000"
-+val gotoT =
-+"\
-+\\001\000\026\001\002\000\001\000\000\000\
-+\\004\000\004\000\005\000\003\000\000\000\
-+\\000\000\
-+\\007\000\008\000\008\000\007\000\009\000\006\000\000\000\
-+\\010\000\027\000\014\000\026\000\017\000\025\000\020\000\024\000\
-+\\022\000\023\000\023\000\022\000\033\000\021\000\041\000\020\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\008\000\080\000\009\000\006\000\000\000\
-+\\000\000\
-+\\006\000\082\000\000\000\
-+\\050\000\086\000\051\000\085\000\052\000\084\000\000\000\
-+\\050\000\087\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\094\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\016\000\100\000\017\000\099\000\020\000\092\000\021\000\098\000\
-+\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
-+\\015\000\102\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\015\000\103\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\012\000\104\000\000\000\
-+\\003\000\106\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\039\000\110\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\024\000\112\000\025\000\111\000\000\000\
-+\\039\000\114\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\115\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\050\000\116\000\051\000\085\000\052\000\084\000\000\000\
-+\\034\000\117\000\000\000\
-+\\039\000\119\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\120\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\121\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\122\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\123\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\048\000\124\000\000\000\
-+\\039\000\126\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\127\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\039\000\128\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\024\000\129\000\025\000\111\000\000\000\
-+\\024\000\130\000\025\000\111\000\000\000\
-+\\046\000\131\000\000\000\
-+\\039\000\133\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\039\000\134\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\039\000\135\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\136\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\137\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\138\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\139\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\140\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\013\000\142\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\039\000\143\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\144\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\145\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\026\000\147\000\027\000\146\000\000\000\
-+\\013\000\150\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\024\000\151\000\025\000\111\000\000\000\
-+\\039\000\152\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\153\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\154\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\013\000\155\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\013\000\156\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\013\000\157\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\039\000\158\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\159\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\160\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\018\000\163\000\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\164\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\050\000\165\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\051\000\166\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\169\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\016\000\170\000\017\000\099\000\020\000\092\000\021\000\098\000\
-+\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
-+\\015\000\172\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\015\000\173\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\050\000\174\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\016\000\175\000\017\000\099\000\020\000\092\000\021\000\098\000\
-+\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
-+\\015\000\177\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\015\000\178\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\015\000\179\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\040\000\180\000\041\000\089\000\042\000\108\000\043\000\019\000\
-+\\044\000\018\000\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\024\000\182\000\025\000\111\000\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\185\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\035\000\192\000\036\000\191\000\000\000\
-+\\039\000\194\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\050\000\201\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\046\000\207\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\026\000\220\000\027\000\146\000\000\000\
-+\\000\000\
-+\\039\000\222\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\223\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\018\000\234\000\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\019\000\236\000\022\000\235\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\241\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\243\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\244\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\030\000\245\000\000\000\
-+\\020\000\092\000\021\000\249\000\022\000\248\000\023\000\022\000\
-+\\029\000\247\000\033\000\021\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\251\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\035\000\252\000\036\000\191\000\000\000\
-+\\000\000\
-+\\037\000\255\000\038\000\254\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\049\000\003\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\031\000\005\001\000\000\
-+\\032\000\007\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\019\000\009\001\022\000\235\000\000\000\
-+\\000\000\
-+\\018\000\011\001\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\008\000\012\001\009\000\006\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\249\000\022\000\248\000\023\000\022\000\
-+\\029\000\013\001\033\000\021\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\015\001\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\016\001\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\037\000\017\001\038\000\254\000\000\000\
-+\\000\000\
-+\\013\000\019\001\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\013\000\020\001\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\048\000\021\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\018\000\022\001\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\023\001\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\"
-+val numstates = 283
-+val numrules = 155
-+val s = ref "" and index = ref 0
-+val string_to_int = fn () =>
-+let val i = !index
-+in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
-+end
-+val string_to_list = fn s' =>
-+ let val len = String.size s'
-+ fun f () =
-+ if !index < len then string_to_int() :: f()
-+ else nil
-+ in index := 0; s := s'; f ()
-+ end
-+val string_to_pairlist = fn (conv_key,conv_entry) =>
-+ let fun f () =
-+ case string_to_int()
-+ of 0 => EMPTY
-+ | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
-+ in f
-+ end
-+val string_to_pairlist_default = fn (conv_key,conv_entry) =>
-+ let val conv_row = string_to_pairlist(conv_key,conv_entry)
-+ in fn () =>
-+ let val default = conv_entry(string_to_int())
-+ val row = conv_row()
-+ in (row,default)
-+ end
-+ end
-+val string_to_table = fn (convert_row,s') =>
-+ let val len = String.size s'
-+ fun f ()=
-+ if !index < len then convert_row() :: f()
-+ else nil
-+ in (s := s'; index := 0; f ())
-+ end
-+local
-+ val memo = Array.array(numstates+numrules,ERROR)
-+ val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
-+ fun f i =
-+ if i=numstates then g i
-+ else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
-+ in f 0 handle Subscript => ()
-+ end
-+in
-+val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
-+end
-+val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
-+val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
-+val actionRowNumbers = string_to_list actionRowNumbers
-+val actionT = let val actionRowLookUp=
-+let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
-+in Array.fromList(map actionRowLookUp actionRowNumbers)
-+end
-+in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
-+numStates=numstates,initialState=STATE 0}
-+end
-+end
-+local open Header in
-+type pos = int
-+type arg = int -> HTMLAttrs.context
-+structure MlyValue =
-+struct
-+datatype svalue = VOID | ntVOID of unit | ENTITY_REF of (string)
-+ | CHAR_REF of (string) | PCDATA of (string)
-+ | START_UL of (HTMLAttrVals.attrs)
-+ | START_TR of (HTMLAttrVals.attrs)
-+ | START_TH of (HTMLAttrVals.attrs)
-+ | START_TEXTAREA of (HTMLAttrVals.attrs)
-+ | START_TD of (HTMLAttrVals.attrs)
-+ | START_TABLE of (HTMLAttrVals.attrs)
-+ | START_SELECT of (HTMLAttrVals.attrs)
-+ | START_PRE of (HTMLAttrVals.attrs)
-+ | TAG_PARAM of (HTMLAttrVals.attrs)
-+ | START_P of (HTMLAttrVals.attrs)
-+ | START_OPTION of (HTMLAttrVals.attrs)
-+ | START_OL of (HTMLAttrVals.attrs)
-+ | TAG_META of (HTMLAttrVals.attrs)
-+ | START_MENU of (HTMLAttrVals.attrs)
-+ | START_MAP of (HTMLAttrVals.attrs)
-+ | TAG_LINK of (HTMLAttrVals.attrs)
-+ | START_LI of (HTMLAttrVals.attrs)
-+ | TAG_ISINDEX of (HTMLAttrVals.attrs)
-+ | TAG_INPUT of (HTMLAttrVals.attrs)
-+ | TAG_IMG of (HTMLAttrVals.attrs) | TAG_HR of (HTMLAttrVals.attrs)
-+ | START_H6 of (HTMLAttrVals.attrs)
-+ | START_H5 of (HTMLAttrVals.attrs)
-+ | START_H4 of (HTMLAttrVals.attrs)
-+ | START_H3 of (HTMLAttrVals.attrs)
-+ | START_H2 of (HTMLAttrVals.attrs)
-+ | START_H1 of (HTMLAttrVals.attrs)
-+ | START_FORM of (HTMLAttrVals.attrs)
-+ | START_BASEFONT of (HTMLAttrVals.attrs)
-+ | START_FONT of (HTMLAttrVals.attrs)
-+ | START_DL of (HTMLAttrVals.attrs)
-+ | START_DIV of (HTMLAttrVals.attrs)
-+ | START_DIR of (HTMLAttrVals.attrs)
-+ | START_CAPTION of (HTMLAttrVals.attrs)
-+ | TAG_BR of (HTMLAttrVals.attrs)
-+ | START_BODY of (HTMLAttrVals.attrs)
-+ | TAG_BASE of (HTMLAttrVals.attrs)
-+ | TAG_AREA of (HTMLAttrVals.attrs)
-+ | START_APPLET of (HTMLAttrVals.attrs)
-+ | START_A of (HTMLAttrVals.attrs) | PCDataElem of (HTML.pcdata)
-+ | PCDataList of (HTML.pcdata list) | PCData of (HTML.pcdata)
-+ | OptionList of (HTML.select_option list) | Form of (HTML.text)
-+ | AreaList of (HTML.area list) | Special of (HTML.text)
-+ | Phrase of (HTML.text) | Font of (HTML.text)
-+ | Text of (HTML.text) | TextWOScript of (HTML.text)
-+ | TextList' of (HTML.text list) | TextList of (HTML.text)
-+ | TableCell of (HTML.table_cell)
-+ | TableCellList of (HTML.table_cell list) | TableRow of (HTML.tr)
-+ | TableRowList of (HTML.tr list)
-+ | optCaption of (HTML.caption option)
-+ | Preformatted of (HTML.block) | Flow2 of (blklist_item list)
-+ | Flow1 of (blklist_item list) | DLItem of (deflist_item)
-+ | DLItemList of (deflist_item list) | ListItem of (HTML.list_item)
-+ | ListItemList of (HTML.list_item list) | List of (HTML.block)
-+ | Paragraph of (HTML.block) | Block of (HTML.block)
-+ | BlockWOIndex of (HTML.block)
-+ | AddressContent2 of (blklist_item list)
-+ | AddressContent1 of (blklist_item list)
-+ | BodyElement of (HTML.block) | BodyContent2 of (blklist_item list)
-+ | BodyContent1 of (blklist_item list) | BodyContent0 of (HTML.body)
-+ | BodyContent of (HTML.block) | Body of (HTML.body)
-+ | HeadElement of (HTML.head_content)
-+ | HeadElements of (HTML.head_content list)
-+ | HeadContents of (HTML.head_content list)
-+ | Head of (HTML.head_content list)
-+ | StartHTML of (HTML.cdata option) | Document of (HTML.html)
-+end
-+type svalue = MlyValue.svalue
-+type result = HTML.html
-+end
-+structure EC=
-+struct
-+open LrTable
-+infix 5 $$
-+fun x $$ y = y::x
-+val is_keyword =
-+fn _ => false
-+val preferred_change : (term list * term list) list =
-+nil
-+val noShift =
-+fn (T 0) => true | _ => false
-+val showTerminal =
-+fn (T 0) => "EOF"
-+ | (T 1) => "START_A"
-+ | (T 2) => "END_A"
-+ | (T 3) => "START_ADDRESS"
-+ | (T 4) => "END_ADDRESS"
-+ | (T 5) => "START_APPLET"
-+ | (T 6) => "END_APPLET"
-+ | (T 7) => "TAG_AREA"
-+ | (T 8) => "START_B"
-+ | (T 9) => "END_B"
-+ | (T 10) => "TAG_BASE"
-+ | (T 11) => "START_BIG"
-+ | (T 12) => "END_BIG"
-+ | (T 13) => "START_BLOCKQUOTE"
-+ | (T 14) => "END_BLOCKQUOTE"
-+ | (T 15) => "START_BODY"
-+ | (T 16) => "END_BODY"
-+ | (T 17) => "TAG_BR"
-+ | (T 18) => "START_CAPTION"
-+ | (T 19) => "END_CAPTION"
-+ | (T 20) => "START_CENTER"
-+ | (T 21) => "END_CENTER"
-+ | (T 22) => "START_CITE"
-+ | (T 23) => "END_CITE"
-+ | (T 24) => "START_CODE"
-+ | (T 25) => "END_CODE"
-+ | (T 26) => "START_DD"
-+ | (T 27) => "END_DD"
-+ | (T 28) => "START_DFN"
-+ | (T 29) => "END_DFN"
-+ | (T 30) => "START_DIR"
-+ | (T 31) => "END_DIR"
-+ | (T 32) => "START_DIV"
-+ | (T 33) => "END_DIV"
-+ | (T 34) => "START_DL"
-+ | (T 35) => "END_DL"
-+ | (T 36) => "START_DT"
-+ | (T 37) => "END_DT"
-+ | (T 38) => "START_EM"
-+ | (T 39) => "END_EM"
-+ | (T 40) => "START_FONT"
-+ | (T 41) => "END_FONT"
-+ | (T 42) => "START_BASEFONT"
-+ | (T 43) => "END_BASEFONT"
-+ | (T 44) => "START_FORM"
-+ | (T 45) => "END_FORM"
-+ | (T 46) => "START_H1"
-+ | (T 47) => "END_H1"
-+ | (T 48) => "START_H2"
-+ | (T 49) => "END_H2"
-+ | (T 50) => "START_H3"
-+ | (T 51) => "END_H3"
-+ | (T 52) => "START_H4"
-+ | (T 53) => "END_H4"
-+ | (T 54) => "START_H5"
-+ | (T 55) => "END_H5"
-+ | (T 56) => "START_H6"
-+ | (T 57) => "END_H6"
-+ | (T 58) => "START_HEAD"
-+ | (T 59) => "END_HEAD"
-+ | (T 60) => "TAG_HR"
-+ | (T 61) => "START_HTML"
-+ | (T 62) => "END_HTML"
-+ | (T 63) => "START_I"
-+ | (T 64) => "END_I"
-+ | (T 65) => "TAG_IMG"
-+ | (T 66) => "TAG_INPUT"
-+ | (T 67) => "TAG_ISINDEX"
-+ | (T 68) => "START_KBD"
-+ | (T 69) => "END_KBD"
-+ | (T 70) => "START_LI"
-+ | (T 71) => "END_LI"
-+ | (T 72) => "TAG_LINK"
-+ | (T 73) => "START_MAP"
-+ | (T 74) => "END_MAP"
-+ | (T 75) => "START_MENU"
-+ | (T 76) => "END_MENU"
-+ | (T 77) => "TAG_META"
-+ | (T 78) => "START_OL"
-+ | (T 79) => "END_OL"
-+ | (T 80) => "START_OPTION"
-+ | (T 81) => "END_OPTION"
-+ | (T 82) => "START_P"
-+ | (T 83) => "END_P"
-+ | (T 84) => "TAG_PARAM"
-+ | (T 85) => "START_PRE"
-+ | (T 86) => "END_PRE"
-+ | (T 87) => "START_SAMP"
-+ | (T 88) => "END_SAMP"
-+ | (T 89) => "START_SCRIPT"
-+ | (T 90) => "END_SCRIPT"
-+ | (T 91) => "START_SELECT"
-+ | (T 92) => "END_SELECT"
-+ | (T 93) => "START_SMALL"
-+ | (T 94) => "END_SMALL"
-+ | (T 95) => "START_STRIKE"
-+ | (T 96) => "END_STRIKE"
-+ | (T 97) => "START_STRONG"
-+ | (T 98) => "END_STRONG"
-+ | (T 99) => "START_STYLE"
-+ | (T 100) => "END_STYLE"
-+ | (T 101) => "START_SUB"
-+ | (T 102) => "END_SUB"
-+ | (T 103) => "START_SUP"
-+ | (T 104) => "END_SUP"
-+ | (T 105) => "START_TABLE"
-+ | (T 106) => "END_TABLE"
-+ | (T 107) => "START_TD"
-+ | (T 108) => "END_TD"
-+ | (T 109) => "START_TEXTAREA"
-+ | (T 110) => "END_TEXTAREA"
-+ | (T 111) => "START_TH"
-+ | (T 112) => "END_TH"
-+ | (T 113) => "START_TITLE"
-+ | (T 114) => "END_TITLE"
-+ | (T 115) => "START_TR"
-+ | (T 116) => "END_TR"
-+ | (T 117) => "START_TT"
-+ | (T 118) => "END_TT"
-+ | (T 119) => "START_U"
-+ | (T 120) => "END_U"
-+ | (T 121) => "START_UL"
-+ | (T 122) => "END_UL"
-+ | (T 123) => "START_VAR"
-+ | (T 124) => "END_VAR"
-+ | (T 125) => "PCDATA"
-+ | (T 126) => "CHAR_REF"
-+ | (T 127) => "ENTITY_REF"
-+ | _ => "bogus-term"
-+local open Header in
-+val errtermvalue=
-+fn (T 1) => MlyValue.START_A(([])) |
-+(T 5) => MlyValue.START_APPLET((
-+[
-+ ("CODE", HTMLAttrs.NAME ""),
-+ ("WIDTH", HTMLAttrs.NAME ""),
-+ ("HEIGHT", HTMLAttrs.NAME "")
-+ ]
-+)) |
-+(T 7) => MlyValue.TAG_AREA(([("ALT", HTMLAttrs.NAME "")])) |
-+(T 10) => MlyValue.TAG_BASE(([("URL", HTMLAttrs.NAME "")])) |
-+(T 15) => MlyValue.START_BODY(([])) |
-+(T 17) => MlyValue.TAG_BR(([])) |
-+(T 18) => MlyValue.START_CAPTION(([])) |
-+(T 30) => MlyValue.START_DIR(([])) |
-+(T 32) => MlyValue.START_DIV(([])) |
-+(T 34) => MlyValue.START_DL(([])) |
-+(T 40) => MlyValue.START_FONT(([])) |
-+(T 42) => MlyValue.START_BASEFONT(([])) |
-+(T 44) => MlyValue.START_FORM(([])) |
-+(T 46) => MlyValue.START_H1(([])) |
-+(T 48) => MlyValue.START_H2(([])) |
-+(T 50) => MlyValue.START_H3(([])) |
-+(T 52) => MlyValue.START_H4(([])) |
-+(T 54) => MlyValue.START_H5(([])) |
-+(T 56) => MlyValue.START_H6(([])) |
-+(T 60) => MlyValue.TAG_HR(([])) |
-+(T 65) => MlyValue.TAG_IMG(([("SRC", HTMLAttrs.NAME "")])) |
-+(T 66) => MlyValue.TAG_INPUT(([])) |
-+(T 67) => MlyValue.TAG_ISINDEX(([])) |
-+(T 72) => MlyValue.TAG_LINK(([])) |
-+(T 73) => MlyValue.START_MAP(([])) |
-+(T 75) => MlyValue.START_MENU(([])) |
-+(T 77) => MlyValue.TAG_META(([("CONTENT", HTMLAttrs.NAME "")])) |
-+(T 78) => MlyValue.START_OL(([])) |
-+(T 80) => MlyValue.START_OPTION(([])) |
-+(T 82) => MlyValue.START_P(([])) |
-+(T 84) => MlyValue.TAG_PARAM(([("NAME", HTMLAttrs.NAME "")])) |
-+(T 85) => MlyValue.START_PRE(([])) |
-+(T 91) => MlyValue.START_SELECT(([("NAME", HTMLAttrs.NAME "")])) |
-+(T 105) => MlyValue.START_TABLE(([])) |
-+(T 107) => MlyValue.START_TD(([])) |
-+(T 109) => MlyValue.START_TEXTAREA((
-+[
-+ ("NAME", HTMLAttrs.NAME ""),
-+ ("ROWS", HTMLAttrs.NAME "0"),
-+ ("COLS", HTMLAttrs.NAME "0")
-+ ]
-+)) |
-+(T 111) => MlyValue.START_TH(([])) |
-+(T 115) => MlyValue.START_TR(([])) |
-+(T 121) => MlyValue.START_UL(([])) |
-+_ => MlyValue.VOID
-+end
-+val terms : term list = nil
-+ $$ (T 124) $$ (T 123) $$ (T 122) $$ (T 120) $$ (T 119) $$ (T 118) $$
-+(T 117) $$ (T 116) $$ (T 114) $$ (T 113) $$ (T 112) $$ (T 110) $$ (T
-+108) $$ (T 106) $$ (T 104) $$ (T 103) $$ (T 102) $$ (T 101) $$ (T 100)
-+ $$ (T 99) $$ (T 98) $$ (T 97) $$ (T 96) $$ (T 95) $$ (T 94) $$ (T 93)
-+ $$ (T 92) $$ (T 90) $$ (T 89) $$ (T 88) $$ (T 87) $$ (T 86) $$ (T 83)
-+ $$ (T 81) $$ (T 79) $$ (T 76) $$ (T 74) $$ (T 71) $$ (T 69) $$ (T 68)
-+ $$ (T 64) $$ (T 63) $$ (T 62) $$ (T 61) $$ (T 59) $$ (T 58) $$ (T 57)
-+ $$ (T 55) $$ (T 53) $$ (T 51) $$ (T 49) $$ (T 47) $$ (T 45) $$ (T 43)
-+ $$ (T 41) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35) $$ (T 33)
-+ $$ (T 31) $$ (T 29) $$ (T 28) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24)
-+ $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20) $$ (T 19) $$ (T 16) $$ (T 14)
-+ $$ (T 13) $$ (T 12) $$ (T 11) $$ (T 9) $$ (T 8) $$ (T 6) $$ (T 4) $$
-+(T 3) $$ (T 2) $$ (T 0)end
-+structure Actions =
-+struct
+--- smlnj-lib/HTML/html-gram.sml 2005-11-21 11:37:24.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-gram.sml 2005-11-21 11:37:24.000000000 -0500
+@@ -1226,10 +1226,11 @@
+ (T 3) $$ (T 2) $$ (T 0)end
+ structure Actions =
+ struct
+type int = Int.int
-+exception mlyAction of int
-+local open Header in
-+val actions =
+ exception mlyAction of int
+ local open Header in
+ val actions =
+-fn (i392,defaultPos,stack,
+fn (i392:int,defaultPos,stack,
-+ (ctx):arg) =>
-+case (i392,stack)
-+of ( 0, ( ( _, ( _, _, EndHTML1right)) :: ( _, ( MlyValue.Body Body,
-+ _, _)) :: ( _, ( MlyValue.Head Head, _, _)) :: ( _, (
-+MlyValue.StartHTML StartHTML, StartHTML1left, _)) :: rest671)) => let
-+ val result = MlyValue.Document (
-+HTML.HTML{version=StartHTML, head=Head, body=Body})
-+ in ( LrTable.NT 0, ( result, StartHTML1left, EndHTML1right), rest671)
-+
-+end
-+| ( 1, ( rest671)) => let val result = MlyValue.StartHTML (NONE)
-+ in ( LrTable.NT 1, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 2, ( ( _, ( _, START_HTML1left, START_HTML1right)) :: rest671))
-+ => let val result = MlyValue.StartHTML (NONE)
-+ in ( LrTable.NT 1, ( result, START_HTML1left, START_HTML1right),
-+rest671)
-+end
-+| ( 3, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 2, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 4, ( ( _, ( _, END_HTML1left, END_HTML1right)) :: rest671)) =>
-+ let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 2, ( result, END_HTML1left, END_HTML1right), rest671)
-+
-+end
-+| ( 5, ( ( _, ( _, _, EndHEAD1right)) :: ( _, ( MlyValue.HeadContents
-+ HeadContents, _, _)) :: ( _, ( _, StartHEAD1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Head (HeadContents)
-+ in ( LrTable.NT 3, ( result, StartHEAD1left, EndHEAD1right), rest671)
-+
-+end
-+| ( 6, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 4, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 7, ( ( _, ( _, START_HEAD1left, START_HEAD1right)) :: rest671))
-+ => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 4, ( result, START_HEAD1left, START_HEAD1right),
-+rest671)
-+end
-+| ( 8, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 5, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 9, ( ( _, ( _, END_HEAD1left, END_HEAD1right)) :: rest671)) =>
-+ let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 5, ( result, END_HEAD1left, END_HEAD1right), rest671)
-+
-+end
-+| ( 10, ( ( _, ( MlyValue.HeadElements HeadElements2, _,
-+HeadElements2right)) :: _ :: ( _, ( MlyValue.PCData PCData, _, _)) ::
-+ _ :: ( _, ( MlyValue.HeadElements HeadElements1, HeadElements1left, _
-+)) :: rest671)) => let val result = MlyValue.HeadContents (
-+HeadElements1 @ (HTML.Head_TITLE PCData :: HeadElements2))
-+ in ( LrTable.NT 6, ( result, HeadElements1left, HeadElements2right),
-+rest671)
-+end
-+| ( 11, ( rest671)) => let val result = MlyValue.HeadElements ([])
-+ in ( LrTable.NT 7, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 12, ( ( _, ( MlyValue.HeadElements HeadElements, _,
-+HeadElements1right)) :: ( _, ( MlyValue.HeadElement HeadElement,
-+HeadElement1left, _)) :: rest671)) => let val result =
-+MlyValue.HeadElements (HeadElement :: HeadElements)
-+ in ( LrTable.NT 7, ( result, HeadElement1left, HeadElements1right),
-+rest671)
-+end
-+| ( 13, ( ( _, ( MlyValue.TAG_META TAG_META, (TAG_METAleft as
-+TAG_META1left), TAG_META1right)) :: rest671)) => let val result =
-+MlyValue.HeadElement (HTMLAttrs.mkMETA(ctx TAG_METAleft, TAG_META))
-+ in ( LrTable.NT 8, ( result, TAG_META1left, TAG_META1right), rest671)
-+
-+end
-+| ( 14, ( ( _, ( MlyValue.TAG_LINK TAG_LINK, (TAG_LINKleft as
-+TAG_LINK1left), TAG_LINK1right)) :: rest671)) => let val result =
-+MlyValue.HeadElement (HTMLAttrs.mkLINK(ctx TAG_LINKleft, TAG_LINK))
-+ in ( LrTable.NT 8, ( result, TAG_LINK1left, TAG_LINK1right), rest671)
-+
-+end
-+| ( 15, ( ( _, ( MlyValue.TAG_ISINDEX TAG_ISINDEX, (TAG_ISINDEXleft
-+ as TAG_ISINDEX1left), TAG_ISINDEX1right)) :: rest671)) => let val
-+result = MlyValue.HeadElement (
-+let val stuff =
-+ HTMLAttrs.mkISINDEX (ctx TAG_ISINDEXleft, TAG_ISINDEX)
-+ in HTML.Head_ISINDEX stuff end
-+
-+)
-+ in ( LrTable.NT 8, ( result, TAG_ISINDEX1left, TAG_ISINDEX1right),
-+rest671)
-+end
-+| ( 16, ( ( _, ( MlyValue.TAG_BASE TAG_BASE, (TAG_BASEleft as
-+TAG_BASE1left), TAG_BASE1right)) :: rest671)) => let val result =
-+MlyValue.HeadElement (HTMLAttrs.mkBASE(ctx TAG_BASEleft, TAG_BASE))
-+ in ( LrTable.NT 8, ( result, TAG_BASE1left, TAG_BASE1right), rest671)
-+
-+end
-+| ( 17, ( ( _, ( _, _, END_STYLE1right)) :: ( _, ( MlyValue.PCData
-+PCData, _, _)) :: ( _, ( _, START_STYLE1left, _)) :: rest671)) => let
-+ val result = MlyValue.HeadElement (HTML.Head_STYLE(PCData))
-+ in ( LrTable.NT 8, ( result, START_STYLE1left, END_STYLE1right),
-+rest671)
-+end
-+| ( 18, ( ( _, ( _, _, END_SCRIPT1right)) :: ( _, ( MlyValue.PCData
-+PCData, _, _)) :: ( _, ( _, START_SCRIPT1left, _)) :: rest671)) => let
-+ val result = MlyValue.HeadElement (HTML.Head_SCRIPT(PCData))
-+ in ( LrTable.NT 8, ( result, START_SCRIPT1left, END_SCRIPT1right),
-+rest671)
-+end
-+| ( 19, ( ( _, ( _, _, EndBODY1right)) :: ( _, (
-+MlyValue.BodyContent0 BodyContent0, BodyContent01left, _)) :: rest671)
-+) => let val result = MlyValue.Body (BodyContent0)
-+ in ( LrTable.NT 9, ( result, BodyContent01left, EndBODY1right),
-+rest671)
-+end
-+| ( 20, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 21, ( ( _, ( _, END_BODY1left, END_BODY1right)) :: rest671)) =>
-+ let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 11, ( result, END_BODY1left, END_BODY1right), rest671
-+)
-+end
-+| ( 22, ( ( _, ( MlyValue.BodyContent1 BodyContent1,
-+BodyContent11left, BodyContent11right)) :: rest671)) => let val
-+result = MlyValue.BodyContent (mkBlock BodyContent1)
-+ in ( LrTable.NT 12, ( result, BodyContent11left, BodyContent11right),
-+ rest671)
-+end
-+| ( 23, ( ( _, ( MlyValue.BodyContent BodyContent, _,
-+BodyContent1right)) :: ( _, ( MlyValue.START_BODY START_BODY, (
-+START_BODYleft as START_BODY1left), _)) :: rest671)) => let val
-+result = MlyValue.BodyContent0 (
-+HTMLAttrs.mkBODY(ctx START_BODYleft, START_BODY, BodyContent))
-+ in ( LrTable.NT 13, ( result, START_BODY1left, BodyContent1right),
-+rest671)
-+end
-+| ( 24, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.TextWOScript TextWOScript,
-+TextWOScript1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consText(TextWOScript, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, TextWOScript1left, BodyContent11right),
-+ rest671)
-+end
-+| ( 25, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BodyElement BodyElement,
-+BodyElement1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(BodyElement, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, BodyElement1left, BodyContent11right),
-+rest671)
-+end
-+| ( 26, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BlockWOIndex BlockWOIndex,
-+BlockWOIndex1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(BlockWOIndex, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, BlockWOIndex1left, BodyContent11right),
-+ rest671)
-+end
-+| ( 27, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(Paragraph, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, Paragraph1left, BodyContent11right),
-+rest671)
-+end
-+| ( 28, ( ( _, ( MlyValue.BodyContent2 BodyContent2, _,
-+BodyContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(Paragraph, BodyContent2)))
-+ in ( LrTable.NT 13, ( result, Paragraph1left, BodyContent21right),
-+rest671)
-+end
-+| ( 29, ( rest671)) => let val result = MlyValue.BodyContent1 ([])
-+ in ( LrTable.NT 14, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 30, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.Text Text, Text1left, _)) ::
-+rest671)) => let val result = MlyValue.BodyContent1 (
-+consText(Text, BodyContent1))
-+ in ( LrTable.NT 14, ( result, Text1left, BodyContent11right), rest671
-+)
-+end
-+| ( 31, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BodyElement BodyElement,
-+BodyElement1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent1 (consBlock(BodyElement, BodyContent1))
-+ in ( LrTable.NT 14, ( result, BodyElement1left, BodyContent11right),
-+rest671)
-+end
-+| ( 32, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.Block Block, Block1left, _))
-+ :: rest671)) => let val result = MlyValue.BodyContent1 (
-+consBlock(Block, BodyContent1))
-+ in ( LrTable.NT 14, ( result, Block1left, BodyContent11right),
-+rest671)
-+end
-+| ( 33, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent1 (consBlock(Paragraph, BodyContent1))
-+ in ( LrTable.NT 14, ( result, Paragraph1left, BodyContent11right),
-+rest671)
-+end
-+| ( 34, ( ( _, ( MlyValue.BodyContent2 BodyContent2, _,
-+BodyContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent1 (consBlock(Paragraph, BodyContent2))
-+ in ( LrTable.NT 14, ( result, Paragraph1left, BodyContent21right),
-+rest671)
-+end
-+| ( 35, ( rest671)) => let val result = MlyValue.BodyContent2 ([])
-+ in ( LrTable.NT 15, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 36, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BodyElement BodyElement,
-+BodyElement1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent2 (consBlock(BodyElement, BodyContent1))
-+ in ( LrTable.NT 15, ( result, BodyElement1left, BodyContent11right),
-+rest671)
-+end
-+| ( 37, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.Block Block, Block1left, _))
-+ :: rest671)) => let val result = MlyValue.BodyContent2 (
-+consBlock(Block, BodyContent1))
-+ in ( LrTable.NT 15, ( result, Block1left, BodyContent11right),
-+rest671)
-+end
-+| ( 38, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent2 (consBlock(Paragraph, BodyContent1))
-+ in ( LrTable.NT 15, ( result, Paragraph1left, BodyContent11right),
-+rest671)
-+end
-+| ( 39, ( ( _, ( MlyValue.BodyContent2 BodyContent2, _,
-+BodyContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent2 (consBlock(Paragraph, BodyContent2))
-+ in ( LrTable.NT 15, ( result, Paragraph1left, BodyContent21right),
-+rest671)
-+end
-+| ( 40, ( ( _, ( _, _, END_H11right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H1 START_H1, (START_H1left
-+ as START_H11left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(1, ctx START_H1left, START_H1, TextList))
-+ in ( LrTable.NT 16, ( result, START_H11left, END_H11right), rest671)
-+
-+end
-+| ( 41, ( ( _, ( _, _, END_H21right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H2 START_H2, (START_H2left
-+ as START_H21left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(2, ctx START_H2left, START_H2, TextList))
-+ in ( LrTable.NT 16, ( result, START_H21left, END_H21right), rest671)
-+
-+end
-+| ( 42, ( ( _, ( _, _, END_H31right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H3 START_H3, (START_H3left
-+ as START_H31left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(3, ctx START_H3left, START_H3, TextList))
-+ in ( LrTable.NT 16, ( result, START_H31left, END_H31right), rest671)
-+
-+end
-+| ( 43, ( ( _, ( _, _, END_H41right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H4 START_H4, (START_H4left
-+ as START_H41left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(4, ctx START_H4left, START_H4, TextList))
-+ in ( LrTable.NT 16, ( result, START_H41left, END_H41right), rest671)
-+
-+end
-+| ( 44, ( ( _, ( _, _, END_H51right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H5 START_H5, (START_H5left
-+ as START_H51left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(5, ctx START_H5left, START_H5, TextList))
-+ in ( LrTable.NT 16, ( result, START_H51left, END_H51right), rest671)
-+
-+end
-+| ( 45, ( ( _, ( _, _, END_H61right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H6 START_H6, (START_H6left
-+ as START_H61left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(6, ctx START_H6left, START_H6, TextList))
-+ in ( LrTable.NT 16, ( result, START_H61left, END_H61right), rest671)
-+
-+end
-+| ( 46, ( ( _, ( _, _, END_ADDRESS1right)) :: ( _, (
-+MlyValue.AddressContent1 AddressContent1, _, _)) :: ( _, ( _,
-+START_ADDRESS1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (HTML.ADDRESS(mkBlock AddressContent1))
-+ in ( LrTable.NT 16, ( result, START_ADDRESS1left, END_ADDRESS1right),
-+ rest671)
-+end
-+| ( 47, ( rest671)) => let val result = MlyValue.AddressContent1 ([]
-+)
-+ in ( LrTable.NT 17, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 48, ( ( _, ( MlyValue.AddressContent1 AddressContent1, _,
-+AddressContent11right)) :: ( _, ( MlyValue.Text Text, Text1left, _))
-+ :: rest671)) => let val result = MlyValue.AddressContent1 (
-+consText(Text, AddressContent1))
-+ in ( LrTable.NT 17, ( result, Text1left, AddressContent11right),
-+rest671)
-+end
-+| ( 49, ( ( _, ( MlyValue.AddressContent1 AddressContent1, _,
-+AddressContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent1 (consBlock(Paragraph, AddressContent1))
-+ in ( LrTable.NT 17, ( result, Paragraph1left, AddressContent11right),
-+ rest671)
-+end
-+| ( 50, ( ( _, ( MlyValue.AddressContent2 AddressContent2, _,
-+AddressContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent1 (consBlock(Paragraph, AddressContent2))
-+ in ( LrTable.NT 17, ( result, Paragraph1left, AddressContent21right),
-+ rest671)
-+end
-+| ( 51, ( rest671)) => let val result = MlyValue.AddressContent2 ([]
-+)
-+ in ( LrTable.NT 18, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 52, ( ( _, ( MlyValue.AddressContent1 AddressContent1, _,
-+AddressContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent2 (consBlock(Paragraph, AddressContent1))
-+ in ( LrTable.NT 18, ( result, Paragraph1left, AddressContent11right),
-+ rest671)
-+end
-+| ( 53, ( ( _, ( MlyValue.AddressContent2 AddressContent2, _,
-+AddressContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent2 (consBlock(Paragraph, AddressContent2))
-+ in ( LrTable.NT 18, ( result, Paragraph1left, AddressContent21right),
-+ rest671)
-+end
-+| ( 54, ( ( _, ( MlyValue.List List, List1left, List1right)) ::
-+rest671)) => let val result = MlyValue.BlockWOIndex (List)
-+ in ( LrTable.NT 19, ( result, List1left, List1right), rest671)
-+end
-+| ( 55, ( ( _, ( MlyValue.Preformatted Preformatted,
-+Preformatted1left, Preformatted1right)) :: rest671)) => let val
-+result = MlyValue.BlockWOIndex (Preformatted)
-+ in ( LrTable.NT 19, ( result, Preformatted1left, Preformatted1right),
-+ rest671)
-+end
-+| ( 56, ( ( _, ( _, _, END_DIV1right)) :: ( _, ( MlyValue.BodyContent
-+ BodyContent, _, _)) :: ( _, ( MlyValue.START_DIV START_DIV, (
-+START_DIVleft as START_DIV1left), _)) :: rest671)) => let val result
-+ = MlyValue.BlockWOIndex (
-+HTMLAttrs.mkDIV(ctx START_DIVleft, START_DIV, BodyContent))
-+ in ( LrTable.NT 19, ( result, START_DIV1left, END_DIV1right), rest671
-+)
-+end
-+| ( 57, ( ( _, ( _, _, END_CENTER1right)) :: ( _, (
-+MlyValue.BodyContent BodyContent, _, _)) :: ( _, ( _,
-+START_CENTER1left, _)) :: rest671)) => let val result =
-+MlyValue.BlockWOIndex (HTML.CENTER BodyContent)
-+ in ( LrTable.NT 19, ( result, START_CENTER1left, END_CENTER1right),
-+rest671)
-+end
-+| ( 58, ( ( _, ( _, _, END_BLOCKQUOTE1right)) :: ( _, (
-+MlyValue.BodyContent BodyContent, _, _)) :: ( _, ( _,
-+START_BLOCKQUOTE1left, _)) :: rest671)) => let val result =
-+MlyValue.BlockWOIndex (HTML.BLOCKQUOTE BodyContent)
-+ in ( LrTable.NT 19, ( result, START_BLOCKQUOTE1left,
-+END_BLOCKQUOTE1right), rest671)
-+end
-+| ( 59, ( ( _, ( _, _, END_FORM1right)) :: ( _, (
-+MlyValue.BodyContent BodyContent, _, _)) :: ( _, ( MlyValue.START_FORM
-+ START_FORM, (START_FORMleft as START_FORM1left), _)) :: rest671)) =>
-+ let val result = MlyValue.BlockWOIndex (
-+HTMLAttrs.mkFORM(ctx START_FORMleft, START_FORM, BodyContent))
-+ in ( LrTable.NT 19, ( result, START_FORM1left, END_FORM1right),
-+rest671)
-+end
-+| ( 60, ( ( _, ( MlyValue.TAG_HR TAG_HR, (TAG_HRleft as TAG_HR1left),
-+ TAG_HR1right)) :: rest671)) => let val result =
-+MlyValue.BlockWOIndex (HTMLAttrs.mkHR(ctx TAG_HRleft, TAG_HR))
-+ in ( LrTable.NT 19, ( result, TAG_HR1left, TAG_HR1right), rest671)
-+
-+end
-+| ( 61, ( ( _, ( _, _, END_TABLE1right)) :: ( _, (
-+MlyValue.TableRowList TableRowList, _, _)) :: ( _, (
-+MlyValue.optCaption optCaption, _, _)) :: ( _, ( MlyValue.START_TABLE
-+START_TABLE, (START_TABLEleft as START_TABLE1left), _)) :: rest671))
-+ => let val result = MlyValue.BlockWOIndex (
-+HTMLAttrs.mkTABLE(
-+ ctx START_TABLEleft, START_TABLE,
-+ {caption = optCaption, body = TableRowList})
-+
-+)
-+ in ( LrTable.NT 19, ( result, START_TABLE1left, END_TABLE1right),
-+rest671)
-+end
-+| ( 62, ( ( _, ( MlyValue.BlockWOIndex BlockWOIndex,
-+BlockWOIndex1left, BlockWOIndex1right)) :: rest671)) => let val
-+result = MlyValue.Block (BlockWOIndex)
-+ in ( LrTable.NT 20, ( result, BlockWOIndex1left, BlockWOIndex1right),
-+ rest671)
-+end
-+| ( 63, ( ( _, ( MlyValue.TAG_ISINDEX TAG_ISINDEX, (TAG_ISINDEXleft
-+ as TAG_ISINDEX1left), TAG_ISINDEX1right)) :: rest671)) => let val
-+result = MlyValue.Block (
-+let val stuff =
-+ HTMLAttrs.mkISINDEX (ctx TAG_ISINDEXleft, TAG_ISINDEX)
-+ in HTML.ISINDEX stuff end
-+
-+)
-+ in ( LrTable.NT 20, ( result, TAG_ISINDEX1left, TAG_ISINDEX1right),
-+rest671)
-+end
-+| ( 64, ( ( _, ( MlyValue.TextList TextList, _, TextList1right)) :: (
-+ _, ( MlyValue.START_P START_P, (START_Pleft as START_P1left), _)) ::
-+rest671)) => let val result = MlyValue.Paragraph (
-+HTMLAttrs.mkP(ctx START_Pleft, START_P, TextList))
-+ in ( LrTable.NT 21, ( result, START_P1left, TextList1right), rest671)
-+
-+end
-+| ( 65, ( ( _, ( _, _, END_UL1right)) :: ( _, ( MlyValue.ListItemList
-+ ListItemList, _, _)) :: ( _, ( MlyValue.START_UL START_UL, (
-+START_ULleft as START_UL1left), _)) :: rest671)) => let val result =
-+MlyValue.List (
-+HTMLAttrs.mkUL(ctx START_ULleft, START_UL, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_UL1left, END_UL1right), rest671)
-+
-+end
-+| ( 66, ( ( _, ( _, _, END_OL1right)) :: ( _, ( MlyValue.ListItemList
-+ ListItemList, _, _)) :: ( _, ( MlyValue.START_OL START_OL, (
-+START_OLleft as START_OL1left), _)) :: rest671)) => let val result =
-+MlyValue.List (
-+HTMLAttrs.mkOL(ctx START_OLleft, START_OL, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_OL1left, END_OL1right), rest671)
-+
-+end
-+| ( 67, ( ( _, ( _, _, END_DIR1right)) :: ( _, (
-+MlyValue.ListItemList ListItemList, _, _)) :: ( _, (
-+MlyValue.START_DIR START_DIR, (START_DIRleft as START_DIR1left), _))
-+ :: rest671)) => let val result = MlyValue.List (
-+HTMLAttrs.mkDIR(ctx START_DIRleft, START_DIR, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_DIR1left, END_DIR1right), rest671
-+)
-+end
-+| ( 68, ( ( _, ( _, _, END_MENU1right)) :: ( _, (
-+MlyValue.ListItemList ListItemList, _, _)) :: ( _, (
-+MlyValue.START_MENU START_MENU, (START_MENUleft as START_MENU1left), _
-+)) :: rest671)) => let val result = MlyValue.List (
-+HTMLAttrs.mkMENU(ctx START_MENUleft, START_MENU, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_MENU1left, END_MENU1right),
-+rest671)
-+end
-+| ( 69, ( ( _, ( _, _, END_DL1right)) :: ( _, ( MlyValue.DLItemList
-+DLItemList, _, _)) :: ( _, ( MlyValue.START_DL START_DL, (START_DLleft
-+ as START_DL1left), _)) :: rest671)) => let val result =
-+MlyValue.List (
-+HTMLAttrs.mkDL(
-+ ctx START_DLleft, START_DL,
-+ groupDefListContents DLItemList)
-+
-+)
-+ in ( LrTable.NT 22, ( result, START_DL1left, END_DL1right), rest671)
-+
-+end
-+| ( 70, ( rest671)) => let val result = MlyValue.ListItemList ([])
-+ in ( LrTable.NT 23, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 71, ( ( _, ( MlyValue.ListItemList ListItemList, _,
-+ListItemList1right)) :: ( _, ( MlyValue.ListItem ListItem,
-+ListItem1left, _)) :: rest671)) => let val result =
-+MlyValue.ListItemList (ListItem :: ListItemList)
-+ in ( LrTable.NT 23, ( result, ListItem1left, ListItemList1right),
-+rest671)
-+end
-+| ( 72, ( ( _, ( _, _, EndLI1right)) :: ( _, ( MlyValue.Flow1 Flow1,
-+ _, _)) :: ( _, ( MlyValue.START_LI START_LI, (START_LIleft as
-+START_LI1left), _)) :: rest671)) => let val result =
-+MlyValue.ListItem (
-+HTMLAttrs.mkLI(ctx START_LIleft, START_LI, mkBlock Flow1))
-+ in ( LrTable.NT 24, ( result, START_LI1left, EndLI1right), rest671)
-+
-+end
-+| ( 73, ( rest671)) => let val result = MlyValue.DLItemList ([])
-+ in ( LrTable.NT 25, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 74, ( ( _, ( MlyValue.DLItemList DLItemList, _, DLItemList1right)
-+) :: ( _, ( MlyValue.DLItem DLItem, DLItem1left, _)) :: rest671)) =>
-+ let val result = MlyValue.DLItemList (DLItem :: DLItemList)
-+ in ( LrTable.NT 25, ( result, DLItem1left, DLItemList1right), rest671
-+)
-+end
-+| ( 75, ( ( _, ( _, _, EndDT1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_DT1left, _)) :: rest671)) => let
-+ val result = MlyValue.DLItem (DL_tag TextList)
-+ in ( LrTable.NT 26, ( result, START_DT1left, EndDT1right), rest671)
-+
-+end
-+| ( 76, ( ( _, ( _, _, EndDD1right)) :: ( _, ( MlyValue.Flow1 Flow1,
-+ _, _)) :: ( _, ( _, START_DD1left, _)) :: rest671)) => let val
-+result = MlyValue.DLItem (DL_item(mkBlock Flow1))
-+ in ( LrTable.NT 26, ( result, START_DD1left, EndDD1right), rest671)
-+
-+end
-+| ( 77, ( rest671)) => let val result = MlyValue.Flow1 ([])
-+ in ( LrTable.NT 27, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 78, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: ( _, (
-+MlyValue.Text Text, Text1left, _)) :: rest671)) => let val result =
-+MlyValue.Flow1 (consText(Text, Flow1))
-+ in ( LrTable.NT 27, ( result, Text1left, Flow11right), rest671)
-+end
-+| ( 79, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: ( _, (
-+MlyValue.Block Block, Block1left, _)) :: rest671)) => let val result
-+ = MlyValue.Flow1 (consBlock(Block, Flow1))
-+ in ( LrTable.NT 27, ( result, Block1left, Flow11right), rest671)
-+end
-+| ( 80, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: _ :: ( _,
-+( MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Flow1 (consBlock(Paragraph, Flow1))
-+ in ( LrTable.NT 27, ( result, Paragraph1left, Flow11right), rest671)
-+
-+end
-+| ( 81, ( ( _, ( MlyValue.Flow2 Flow2, _, Flow21right)) :: ( _, (
-+MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) => let
-+ val result = MlyValue.Flow1 (consBlock(Paragraph, Flow2))
-+ in ( LrTable.NT 27, ( result, Paragraph1left, Flow21right), rest671)
-+
-+end
-+| ( 82, ( rest671)) => let val result = MlyValue.Flow2 ([])
-+ in ( LrTable.NT 28, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 83, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: ( _, (
-+MlyValue.Block Block, Block1left, _)) :: rest671)) => let val result
-+ = MlyValue.Flow2 (consBlock(Block, Flow1))
-+ in ( LrTable.NT 28, ( result, Block1left, Flow11right), rest671)
-+end
-+| ( 84, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: _ :: ( _,
-+( MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Flow2 (consBlock(Paragraph, Flow1))
-+ in ( LrTable.NT 28, ( result, Paragraph1left, Flow11right), rest671)
-+
-+end
-+| ( 85, ( ( _, ( MlyValue.Flow2 Flow2, _, Flow21right)) :: ( _, (
-+MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) => let
-+ val result = MlyValue.Flow2 (consBlock(Paragraph, Flow2))
-+ in ( LrTable.NT 28, ( result, Paragraph1left, Flow21right), rest671)
-+
-+end
-+| ( 86, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 29, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 87, ( ( _, ( _, END_LI1left, END_LI1right)) :: rest671)) => let
-+ val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 29, ( result, END_LI1left, END_LI1right), rest671)
-+
-+end
-+| ( 88, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 30, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 89, ( ( _, ( _, END_DT1left, END_DT1right)) :: rest671)) => let
-+ val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 30, ( result, END_DT1left, END_DT1right), rest671)
-+
-+end
-+| ( 90, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 31, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 91, ( ( _, ( _, END_DD1left, END_DD1right)) :: rest671)) => let
-+ val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 31, ( result, END_DD1left, END_DD1right), rest671)
-+
-+end
-+| ( 92, ( ( _, ( _, _, END_PRE1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_PRE START_PRE, (
-+START_PREleft as START_PRE1left), _)) :: rest671)) => let val result
-+ = MlyValue.Preformatted (
-+HTMLAttrs.mkPRE(ctx START_PREleft, START_PRE, TextList))
-+ in ( LrTable.NT 32, ( result, START_PRE1left, END_PRE1right), rest671
-+)
-+end
-+| ( 93, ( rest671)) => let val result = MlyValue.optCaption (NONE)
-+ in ( LrTable.NT 33, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 94, ( ( _, ( _, _, END_CAPTION1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( MlyValue.START_CAPTION
-+START_CAPTION, (START_CAPTIONleft as START_CAPTION1left), _)) ::
-+rest671)) => let val result = MlyValue.optCaption (
-+SOME(HTMLAttrs.mkCAPTION(
-+ ctx START_CAPTIONleft, START_CAPTION, TextList))
-+)
-+ in ( LrTable.NT 33, ( result, START_CAPTION1left, END_CAPTION1right),
-+ rest671)
-+end
-+| ( 95, ( ( _, ( MlyValue.TableRow TableRow, TableRow1left,
-+TableRow1right)) :: rest671)) => let val result =
-+MlyValue.TableRowList ([TableRow])
-+ in ( LrTable.NT 34, ( result, TableRow1left, TableRow1right), rest671
-+)
-+end
-+| ( 96, ( ( _, ( MlyValue.TableRowList TableRowList, _,
-+TableRowList1right)) :: ( _, ( MlyValue.TableRow TableRow,
-+TableRow1left, _)) :: rest671)) => let val result =
-+MlyValue.TableRowList (TableRow :: TableRowList)
-+ in ( LrTable.NT 34, ( result, TableRow1left, TableRowList1right),
-+rest671)
-+end
-+| ( 97, ( ( _, ( MlyValue.TableCellList TableCellList, _,
-+TableCellList1right)) :: ( _, ( MlyValue.START_TR START_TR, (
-+START_TRleft as START_TR1left), _)) :: rest671)) => let val result =
-+MlyValue.TableRow (
-+HTMLAttrs.mkTR(ctx START_TRleft, START_TR, TableCellList))
-+ in ( LrTable.NT 35, ( result, START_TR1left, TableCellList1right),
-+rest671)
-+end
-+| ( 98, ( ( _, ( _, _, END_TR1right)) :: ( _, (
-+MlyValue.TableCellList TableCellList, _, _)) :: ( _, (
-+MlyValue.START_TR START_TR, (START_TRleft as START_TR1left), _)) ::
-+rest671)) => let val result = MlyValue.TableRow (
-+HTMLAttrs.mkTR(ctx START_TRleft, START_TR, TableCellList))
-+ in ( LrTable.NT 35, ( result, START_TR1left, END_TR1right), rest671)
-+
-+end
-+| ( 99, ( ( _, ( MlyValue.TableCell TableCell, TableCell1left,
-+TableCell1right)) :: rest671)) => let val result =
-+MlyValue.TableCellList ([TableCell])
-+ in ( LrTable.NT 36, ( result, TableCell1left, TableCell1right),
-+rest671)
-+end
-+| ( 100, ( ( _, ( MlyValue.TableCellList TableCellList, _,
-+TableCellList1right)) :: ( _, ( MlyValue.TableCell TableCell,
-+TableCell1left, _)) :: rest671)) => let val result =
-+MlyValue.TableCellList (TableCell :: TableCellList)
-+ in ( LrTable.NT 36, ( result, TableCell1left, TableCellList1right),
-+rest671)
-+end
-+| ( 101, ( ( _, ( _, _, END_TH1right)) :: ( _, ( MlyValue.BodyContent
-+ BodyContent, _, _)) :: ( _, ( MlyValue.START_TH START_TH, (
-+START_THleft as START_TH1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTH(ctx START_THleft, START_TH, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TH1left, END_TH1right), rest671)
-+
-+end
-+| ( 102, ( ( _, ( MlyValue.BodyContent BodyContent, _,
-+BodyContent1right)) :: ( _, ( MlyValue.START_TH START_TH, (
-+START_THleft as START_TH1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTH(ctx START_THleft, START_TH, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TH1left, BodyContent1right),
-+rest671)
-+end
-+| ( 103, ( ( _, ( _, _, END_TD1right)) :: ( _, ( MlyValue.BodyContent
-+ BodyContent, _, _)) :: ( _, ( MlyValue.START_TD START_TD, (
-+START_TDleft as START_TD1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTD(ctx START_TDleft, START_TD, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TD1left, END_TD1right), rest671)
-+
-+end
-+| ( 104, ( ( _, ( MlyValue.BodyContent BodyContent, _,
-+BodyContent1right)) :: ( _, ( MlyValue.START_TD START_TD, (
-+START_TDleft as START_TD1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTD(ctx START_TDleft, START_TD, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TD1left, BodyContent1right),
-+rest671)
-+end
-+| ( 105, ( ( _, ( MlyValue.TextList' TextList', TextList'1left,
-+TextList'1right)) :: rest671)) => let val result = MlyValue.TextList
-+ (textList TextList')
-+ in ( LrTable.NT 38, ( result, TextList'1left, TextList'1right),
-+rest671)
-+end
-+| ( 106, ( rest671)) => let val result = MlyValue.TextList' ([])
-+ in ( LrTable.NT 39, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 107, ( ( _, ( MlyValue.TextList' TextList', _, TextList'1right))
-+ :: ( _, ( MlyValue.Text Text, Text1left, _)) :: rest671)) => let val
-+ result = MlyValue.TextList' (Text :: TextList')
-+ in ( LrTable.NT 39, ( result, Text1left, TextList'1right), rest671)
-+
-+end
-+| ( 108, ( ( _, ( MlyValue.PCDataElem PCDataElem, PCDataElem1left,
-+PCDataElem1right)) :: rest671)) => let val result =
-+MlyValue.TextWOScript (HTML.PCDATA PCDataElem)
-+ in ( LrTable.NT 40, ( result, PCDataElem1left, PCDataElem1right),
-+rest671)
-+end
-+| ( 109, ( ( _, ( MlyValue.Font Font, Font1left, Font1right)) ::
-+rest671)) => let val result = MlyValue.TextWOScript (Font)
-+ in ( LrTable.NT 40, ( result, Font1left, Font1right), rest671)
-+end
-+| ( 110, ( ( _, ( MlyValue.Phrase Phrase, Phrase1left, Phrase1right))
-+ :: rest671)) => let val result = MlyValue.TextWOScript (Phrase)
-+ in ( LrTable.NT 40, ( result, Phrase1left, Phrase1right), rest671)
-+
-+end
-+| ( 111, ( ( _, ( MlyValue.Special Special, Special1left,
-+Special1right)) :: rest671)) => let val result =
-+MlyValue.TextWOScript (Special)
-+ in ( LrTable.NT 40, ( result, Special1left, Special1right), rest671)
-+
-+end
-+| ( 112, ( ( _, ( MlyValue.Form Form, Form1left, Form1right)) ::
-+rest671)) => let val result = MlyValue.TextWOScript (Form)
-+ in ( LrTable.NT 40, ( result, Form1left, Form1right), rest671)
-+end
-+| ( 113, ( ( _, ( MlyValue.TextWOScript TextWOScript,
-+TextWOScript1left, TextWOScript1right)) :: rest671)) => let val
-+result = MlyValue.Text (TextWOScript)
-+ in ( LrTable.NT 41, ( result, TextWOScript1left, TextWOScript1right),
-+ rest671)
-+end
-+| ( 114, ( ( _, ( _, _, END_SCRIPT1right)) :: ( _, ( MlyValue.PCData
-+PCData, _, _)) :: ( _, ( _, START_SCRIPT1left, _)) :: rest671)) => let
-+ val result = MlyValue.Text (HTML.SCRIPT PCData)
-+ in ( LrTable.NT 41, ( result, START_SCRIPT1left, END_SCRIPT1right),
-+rest671)
-+end
-+| ( 115, ( ( _, ( _, _, END_TT1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_TT1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.TT(TextList))
-+ in ( LrTable.NT 42, ( result, START_TT1left, END_TT1right), rest671)
-+
-+end
-+| ( 116, ( ( _, ( _, _, END_I1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_I1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.I(TextList))
-+ in ( LrTable.NT 42, ( result, START_I1left, END_I1right), rest671)
-+
-+end
-+| ( 117, ( ( _, ( _, _, END_B1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_B1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.B(TextList))
-+ in ( LrTable.NT 42, ( result, START_B1left, END_B1right), rest671)
-+
-+end
-+| ( 118, ( ( _, ( _, _, END_U1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_U1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.U(TextList))
-+ in ( LrTable.NT 42, ( result, START_U1left, END_U1right), rest671)
-+
-+end
-+| ( 119, ( ( _, ( _, _, END_STRIKE1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( _, START_STRIKE1left, _))
-+ :: rest671)) => let val result = MlyValue.Font (
-+HTML.STRIKE(TextList))
-+ in ( LrTable.NT 42, ( result, START_STRIKE1left, END_STRIKE1right),
-+rest671)
-+end
-+| ( 120, ( ( _, ( _, _, END_BIG1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_BIG1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.BIG(TextList))
-+ in ( LrTable.NT 42, ( result, START_BIG1left, END_BIG1right), rest671
-+)
-+end
-+| ( 121, ( ( _, ( _, _, END_SMALL1right)) :: ( _, ( MlyValue.TextList
-+ TextList, _, _)) :: ( _, ( _, START_SMALL1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Font (HTML.SMALL(TextList))
-+ in ( LrTable.NT 42, ( result, START_SMALL1left, END_SMALL1right),
-+rest671)
-+end
-+| ( 122, ( ( _, ( _, _, END_SUB1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_SUB1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.SUB(TextList))
-+ in ( LrTable.NT 42, ( result, START_SUB1left, END_SUB1right), rest671
-+)
-+end
-+| ( 123, ( ( _, ( _, _, END_SUP1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_SUP1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.SUP(TextList))
-+ in ( LrTable.NT 42, ( result, START_SUP1left, END_SUP1right), rest671
-+)
-+end
-+| ( 124, ( ( _, ( _, _, END_EM1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_EM1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.EM(TextList))
-+ in ( LrTable.NT 43, ( result, START_EM1left, END_EM1right), rest671)
-+
-+end
-+| ( 125, ( ( _, ( _, _, END_STRONG1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( _, START_STRONG1left, _))
-+ :: rest671)) => let val result = MlyValue.Phrase (
-+HTML.STRONG(TextList))
-+ in ( LrTable.NT 43, ( result, START_STRONG1left, END_STRONG1right),
-+rest671)
-+end
-+| ( 126, ( ( _, ( _, _, END_CODE1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_CODE1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.CODE(TextList))
-+ in ( LrTable.NT 43, ( result, START_CODE1left, END_CODE1right),
-+rest671)
-+end
-+| ( 127, ( ( _, ( _, _, END_DFN1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_DFN1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.DFN(TextList))
-+ in ( LrTable.NT 43, ( result, START_DFN1left, END_DFN1right), rest671
-+)
-+end
-+| ( 128, ( ( _, ( _, _, END_SAMP1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_SAMP1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.SAMP(TextList))
-+ in ( LrTable.NT 43, ( result, START_SAMP1left, END_SAMP1right),
-+rest671)
-+end
-+| ( 129, ( ( _, ( _, _, END_KBD1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_KBD1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.KBD(TextList))
-+ in ( LrTable.NT 43, ( result, START_KBD1left, END_KBD1right), rest671
-+)
-+end
-+| ( 130, ( ( _, ( _, _, END_VAR1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_VAR1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.VAR(TextList))
-+ in ( LrTable.NT 43, ( result, START_VAR1left, END_VAR1right), rest671
-+)
-+end
-+| ( 131, ( ( _, ( _, _, END_CITE1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_CITE1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.CITE(TextList))
-+ in ( LrTable.NT 43, ( result, START_CITE1left, END_CITE1right),
-+rest671)
-+end
-+| ( 132, ( ( _, ( _, _, END_A1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_A START_A, (START_Aleft as
-+START_A1left), _)) :: rest671)) => let val result = MlyValue.Special
-+ (HTMLAttrs.mkA(ctx START_Aleft, START_A, TextList))
-+ in ( LrTable.NT 44, ( result, START_A1left, END_A1right), rest671)
-+
-+end
-+| ( 133, ( ( _, ( MlyValue.TAG_IMG TAG_IMG, (TAG_IMGleft as
-+TAG_IMG1left), TAG_IMG1right)) :: rest671)) => let val result =
-+MlyValue.Special (HTMLAttrs.mkIMG(ctx TAG_IMGleft, TAG_IMG))
-+ in ( LrTable.NT 44, ( result, TAG_IMG1left, TAG_IMG1right), rest671)
-+
-+end
-+| ( 134, ( ( _, ( _, _, END_APPLET1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( MlyValue.START_APPLET
-+START_APPLET, (START_APPLETleft as START_APPLET1left), _)) :: rest671)
-+) => let val result = MlyValue.Special (
-+HTMLAttrs.mkAPPLET(ctx START_APPLETleft, START_APPLET, TextList))
-+ in ( LrTable.NT 44, ( result, START_APPLET1left, END_APPLET1right),
-+rest671)
-+end
-+| ( 135, ( ( _, ( _, _, END_FONT1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_FONT START_FONT, (
-+START_FONTleft as START_FONT1left), _)) :: rest671)) => let val
-+result = MlyValue.Special (
-+HTMLAttrs.mkFONT(ctx START_FONTleft, START_FONT, TextList))
-+ in ( LrTable.NT 44, ( result, START_FONT1left, END_FONT1right),
-+rest671)
-+end
-+| ( 136, ( ( _, ( _, _, END_BASEFONT1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( MlyValue.START_BASEFONT
-+START_BASEFONT, (START_BASEFONTleft as START_BASEFONT1left), _)) ::
-+rest671)) => let val result = MlyValue.Special (
-+HTMLAttrs.mkBASEFONT(
-+ ctx START_BASEFONTleft, START_BASEFONT, TextList)
-+
-+)
-+ in ( LrTable.NT 44, ( result, START_BASEFONT1left, END_BASEFONT1right
-+), rest671)
-+end
-+| ( 137, ( ( _, ( MlyValue.TAG_BR TAG_BR, (TAG_BRleft as TAG_BR1left)
-+, TAG_BR1right)) :: rest671)) => let val result = MlyValue.Special (
-+HTMLAttrs.mkBR(ctx TAG_BRleft, TAG_BR))
-+ in ( LrTable.NT 44, ( result, TAG_BR1left, TAG_BR1right), rest671)
-+
-+end
-+| ( 138, ( ( _, ( _, _, END_MAP1right)) :: ( _, ( MlyValue.AreaList
-+AreaList, _, _)) :: ( _, ( MlyValue.START_MAP START_MAP, (
-+START_MAPleft as START_MAP1left), _)) :: rest671)) => let val result
-+ = MlyValue.Special (
-+HTMLAttrs.mkMAP(ctx START_MAPleft, START_MAP, AreaList))
-+ in ( LrTable.NT 44, ( result, START_MAP1left, END_MAP1right), rest671
-+)
-+end
-+| ( 139, ( ( _, ( MlyValue.TAG_PARAM TAG_PARAM, (TAG_PARAMleft as
-+TAG_PARAM1left), TAG_PARAM1right)) :: rest671)) => let val result =
-+MlyValue.Special (HTMLAttrs.mkPARAM(ctx TAG_PARAMleft, TAG_PARAM))
-+ in ( LrTable.NT 44, ( result, TAG_PARAM1left, TAG_PARAM1right),
-+rest671)
-+end
-+| ( 140, ( rest671)) => let val result = MlyValue.AreaList ([])
-+ in ( LrTable.NT 45, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 141, ( ( _, ( MlyValue.AreaList AreaList, _, AreaList1right)) ::
-+( _, ( MlyValue.TAG_AREA TAG_AREA, (TAG_AREAleft as TAG_AREA1left), _)
-+) :: rest671)) => let val result = MlyValue.AreaList (
-+HTMLAttrs.mkAREA(ctx TAG_AREAleft, TAG_AREA) :: AreaList)
-+ in ( LrTable.NT 45, ( result, TAG_AREA1left, AreaList1right), rest671
-+)
-+end
-+| ( 142, ( ( _, ( MlyValue.TAG_INPUT TAG_INPUT, (TAG_INPUTleft as
-+TAG_INPUT1left), TAG_INPUT1right)) :: rest671)) => let val result =
-+MlyValue.Form (HTMLAttrs.mkINPUT(ctx TAG_INPUTleft, TAG_INPUT))
-+ in ( LrTable.NT 46, ( result, TAG_INPUT1left, TAG_INPUT1right),
-+rest671)
-+end
-+| ( 143, ( ( _, ( _, _, END_SELECT1right)) :: ( _, (
-+MlyValue.OptionList OptionList, _, _)) :: ( _, ( MlyValue.START_SELECT
-+ START_SELECT, (START_SELECTleft as START_SELECT1left), _)) :: rest671
-+)) => let val result = MlyValue.Form (
-+HTMLAttrs.mkSELECT(ctx START_SELECTleft, START_SELECT, OptionList))
-+ in ( LrTable.NT 46, ( result, START_SELECT1left, END_SELECT1right),
-+rest671)
-+end
-+| ( 144, ( ( _, ( _, _, END_TEXTAREA1right)) :: ( _, (
-+MlyValue.PCData PCData, _, _)) :: ( _, ( MlyValue.START_TEXTAREA
-+START_TEXTAREA, (START_TEXTAREAleft as START_TEXTAREA1left), _)) ::
-+rest671)) => let val result = MlyValue.Form (
-+HTMLAttrs.mkTEXTAREA(
-+ ctx START_TEXTAREAleft, START_TEXTAREA,
-+ PCData)
-+
-+)
-+ in ( LrTable.NT 46, ( result, START_TEXTAREA1left, END_TEXTAREA1right
-+), rest671)
-+end
-+| ( 145, ( rest671)) => let val result = MlyValue.OptionList ([])
-+ in ( LrTable.NT 47, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 146, ( ( _, ( MlyValue.OptionList OptionList, _, OptionList1right
-+)) :: _ :: ( _, ( MlyValue.PCData PCData, _, _)) :: ( _, (
-+MlyValue.START_OPTION START_OPTION, (START_OPTIONleft as
-+START_OPTION1left), _)) :: rest671)) => let val result =
-+MlyValue.OptionList (
-+HTMLAttrs.mkOPTION(ctx START_OPTIONleft, START_OPTION, PCData)
-+ :: OptionList
-+
-+)
-+ in ( LrTable.NT 47, ( result, START_OPTION1left, OptionList1right),
-+rest671)
-+end
-+| ( 147, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 48, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 148, ( ( _, ( _, END_OPTION1left, END_OPTION1right)) :: rest671))
-+ => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 48, ( result, END_OPTION1left, END_OPTION1right),
-+rest671)
-+end
-+| ( 149, ( ( _, ( MlyValue.PCDataList PCDataList, PCDataList1left,
-+PCDataList1right)) :: rest671)) => let val result = MlyValue.PCData (
-+concat PCDataList)
-+ in ( LrTable.NT 49, ( result, PCDataList1left, PCDataList1right),
-+rest671)
-+end
-+| ( 150, ( rest671)) => let val result = MlyValue.PCDataList ([])
-+ in ( LrTable.NT 50, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 151, ( ( _, ( MlyValue.PCDataList PCDataList, _, PCDataList1right
-+)) :: ( _, ( MlyValue.PCDataElem PCDataElem, PCDataElem1left, _)) ::
-+rest671)) => let val result = MlyValue.PCDataList (
-+PCDataElem :: PCDataList)
-+ in ( LrTable.NT 50, ( result, PCDataElem1left, PCDataList1right),
-+rest671)
-+end
-+| ( 152, ( ( _, ( MlyValue.PCDATA PCDATA, PCDATA1left, PCDATA1right))
-+ :: rest671)) => let val result = MlyValue.PCDataElem (PCDATA)
-+ in ( LrTable.NT 51, ( result, PCDATA1left, PCDATA1right), rest671)
-+
-+end
-+| ( 153, ( ( _, ( MlyValue.CHAR_REF CHAR_REF, CHAR_REF1left,
-+CHAR_REF1right)) :: rest671)) => let val result = MlyValue.PCDataElem
-+ (CHAR_REF)
-+ in ( LrTable.NT 51, ( result, CHAR_REF1left, CHAR_REF1right), rest671
-+)
-+end
-+| ( 154, ( ( _, ( MlyValue.ENTITY_REF ENTITY_REF, ENTITY_REF1left,
-+ENTITY_REF1right)) :: rest671)) => let val result =
-+MlyValue.PCDataElem (ENTITY_REF)
-+ in ( LrTable.NT 51, ( result, ENTITY_REF1left, ENTITY_REF1right),
-+rest671)
-+end
-+| _ => raise (mlyAction i392)
-+end
-+val void = MlyValue.VOID
-+val extract = fn a => (fn MlyValue.Document x => x
-+| _ => let exception ParseInternal
-+ in raise ParseInternal end) a
-+end
-+end
-+structure Tokens : HTML_TOKENS =
-+struct
-+type svalue = ParserData.svalue
-+type ('a,'b) token = ('a,'b) Token.token
-+fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_A (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
-+ParserData.MlyValue.START_A i,p1,p2))
-+fun END_A (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_ADDRESS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_ADDRESS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_APPLET (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
-+ParserData.MlyValue.START_APPLET i,p1,p2))
-+fun END_APPLET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_AREA (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
-+ParserData.MlyValue.TAG_AREA i,p1,p2))
-+fun START_B (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_B (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_BASE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
-+ParserData.MlyValue.TAG_BASE i,p1,p2))
-+fun START_BIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_BIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_BLOCKQUOTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_BLOCKQUOTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_BODY (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
-+ParserData.MlyValue.START_BODY i,p1,p2))
-+fun END_BODY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_BR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
-+ParserData.MlyValue.TAG_BR i,p1,p2))
-+fun START_CAPTION (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
-+ParserData.MlyValue.START_CAPTION i,p1,p2))
-+fun END_CAPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_CENTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_CENTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_CITE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_CITE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_CODE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_CODE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_DD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DFN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_DFN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DIR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
-+ParserData.MlyValue.START_DIR i,p1,p2))
-+fun END_DIR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DIV (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
-+ParserData.MlyValue.START_DIV i,p1,p2))
-+fun END_DIV (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
-+ParserData.MlyValue.START_DL i,p1,p2))
-+fun END_DL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_DT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_EM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_EM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_FONT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
-+ParserData.MlyValue.START_FONT i,p1,p2))
-+fun END_FONT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_BASEFONT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
-+ParserData.MlyValue.START_BASEFONT i,p1,p2))
-+fun END_BASEFONT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_FORM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
-+ParserData.MlyValue.START_FORM i,p1,p2))
-+fun END_FORM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H1 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
-+ParserData.MlyValue.START_H1 i,p1,p2))
-+fun END_H1 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H2 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
-+ParserData.MlyValue.START_H2 i,p1,p2))
-+fun END_H2 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H3 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
-+ParserData.MlyValue.START_H3 i,p1,p2))
-+fun END_H3 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H4 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
-+ParserData.MlyValue.START_H4 i,p1,p2))
-+fun END_H4 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H5 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
-+ParserData.MlyValue.START_H5 i,p1,p2))
-+fun END_H5 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H6 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
-+ParserData.MlyValue.START_H6 i,p1,p2))
-+fun END_H6 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_HEAD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_HEAD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_HR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
-+ParserData.MlyValue.TAG_HR i,p1,p2))
-+fun START_HTML (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_HTML (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_I (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_I (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_IMG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
-+ParserData.MlyValue.TAG_IMG i,p1,p2))
-+fun TAG_INPUT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
-+ParserData.MlyValue.TAG_INPUT i,p1,p2))
-+fun TAG_ISINDEX (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
-+ParserData.MlyValue.TAG_ISINDEX i,p1,p2))
-+fun START_KBD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_KBD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_LI (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
-+ParserData.MlyValue.START_LI i,p1,p2))
-+fun END_LI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_LINK (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
-+ParserData.MlyValue.TAG_LINK i,p1,p2))
-+fun START_MAP (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
-+ParserData.MlyValue.START_MAP i,p1,p2))
-+fun END_MAP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_MENU (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
-+ParserData.MlyValue.START_MENU i,p1,p2))
-+fun END_MENU (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_META (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(
-+ParserData.MlyValue.TAG_META i,p1,p2))
-+fun START_OL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(
-+ParserData.MlyValue.START_OL i,p1,p2))
-+fun END_OL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_OPTION (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(
-+ParserData.MlyValue.START_OPTION i,p1,p2))
-+fun END_OPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 81,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_P (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 82,(
-+ParserData.MlyValue.START_P i,p1,p2))
-+fun END_P (p1,p2) = Token.TOKEN (ParserData.LrTable.T 83,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_PARAM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 84,(
-+ParserData.MlyValue.TAG_PARAM i,p1,p2))
-+fun START_PRE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 85,(
-+ParserData.MlyValue.START_PRE i,p1,p2))
-+fun END_PRE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 86,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SAMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 87,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SAMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 88,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SCRIPT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 89,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SCRIPT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 90,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SELECT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 91,(
-+ParserData.MlyValue.START_SELECT i,p1,p2))
-+fun END_SELECT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 92,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SMALL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 93,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SMALL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 94,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_STRIKE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 95,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_STRIKE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 96,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_STRONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 97,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_STRONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 98,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_STYLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 99,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_STYLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 100,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SUB (p1,p2) = Token.TOKEN (ParserData.LrTable.T 101,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SUB (p1,p2) = Token.TOKEN (ParserData.LrTable.T 102,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SUP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 103,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SUP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 104,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TABLE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 105,(
-+ParserData.MlyValue.START_TABLE i,p1,p2))
-+fun END_TABLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 106,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 107,(
-+ParserData.MlyValue.START_TD i,p1,p2))
-+fun END_TD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 108,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TEXTAREA (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 109,(
-+ParserData.MlyValue.START_TEXTAREA i,p1,p2))
-+fun END_TEXTAREA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 110,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TH (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 111,(
-+ParserData.MlyValue.START_TH i,p1,p2))
-+fun END_TH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 112,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TITLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 113,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_TITLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 114,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 115,(
-+ParserData.MlyValue.START_TR i,p1,p2))
-+fun END_TR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 116,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 117,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_TT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 118,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_U (p1,p2) = Token.TOKEN (ParserData.LrTable.T 119,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_U (p1,p2) = Token.TOKEN (ParserData.LrTable.T 120,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_UL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 121,(
-+ParserData.MlyValue.START_UL i,p1,p2))
-+fun END_UL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 122,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_VAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 123,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_VAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 124,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun PCDATA (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 125,(
-+ParserData.MlyValue.PCDATA i,p1,p2))
-+fun CHAR_REF (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 126,(
-+ParserData.MlyValue.CHAR_REF i,p1,p2))
-+fun ENTITY_REF (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 127,(
-+ParserData.MlyValue.ENTITY_REF i,p1,p2))
-+end
-+end
+ (ctx):arg) =>
+ case (i392,stack)
+ of ( 0, ( ( _, ( _, _, EndHTML1right)) :: ( _, ( MlyValue.Body Body,
diff -Naur smlnj-lib/HTML/html-lex.sml smlnj-lib-mlton/HTML/html-lex.sml
---- smlnj-lib/HTML/html-lex.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-lex.sml 2005-08-18 12:09:08.000000000 -0400
-@@ -0,0 +1,672 @@
+--- smlnj-lib/HTML/html-lex.sml 2005-11-21 11:37:24.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-lex.sml 2005-11-21 11:37:24.000000000 -0500
+@@ -1,3 +1,4 @@
+type int = Int.int
-+functor HTMLLexFn (
-+ structure Tokens : HTML_TOKENS
-+ structure Err : HTML_ERROR
-+ structure HTMLAttrs : HTML_ATTRS)=
-+ struct
-+ structure UserDeclarations =
-+ struct
-+(* html-lex
-+ *
-+ * COPYRIGHT (c) 1995 AT&T Bell Laboratories.
-+ * COPYRIGHT (c) 1996 AT&T Research.
-+ *
-+ * A scanner for HTML.
-+ *
-+ * TODO:
-+ * Recognize the DOCTYPE element
-+ * <!DOCTYPE HTML PUBLIC "...">
-+ * Clean-up the scanning of start tags (do we need Err?).
-+ * Whitespace in PRE elements should be preserved, but how?
-+ *)
-+
-+structure T = Tokens
-+structure Elems = HTMLElementsFn (
-+ structure Tokens = Tokens
-+ structure Err = Err
-+ structure HTMLAttrs = HTMLAttrs)
-+
-+type pos = int
-+type svalue = T.svalue
-+type arg = (((string * int * int) -> unit) * string option)
-+type ('a, 'b) token = ('a, 'b) T.token
-+type lexresult= (svalue, pos) token
-+
-+fun eof _ = Tokens.EOF(0, 0)
-+
-+(* a buffer for collecting a string piecewise *)
-+val buffer = ref ([] : string list)
-+fun addStr s = (buffer := s :: !buffer)
-+fun getStr () = (String.concat(List.rev(! buffer)) before (buffer := []))
-+
-+end (* end of user routines *)
-+exception LexError (* raised if illegal leaf action tried *)
-+structure Internal =
-+ struct
-+
-+datatype yyfinstate = N of int
-+type statedata = {fin : yyfinstate list, trans: string}
-+(* transition & final state table *)
-+val tab = let
-+val s = [
-+ (0,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (1,
-+"\009\009\009\009\009\009\009\009\009\028\029\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\028\009\009\009\009\009\020\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\011\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009"
-+),
-+ (3,
-+"\030\030\030\030\030\030\030\030\030\030\033\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\031\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030"
-+),
-+ (5,
-+"\034\034\034\034\034\034\034\034\034\038\039\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\038\034\034\034\034\034\034\034\034\034\034\034\034\036\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\035\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034"
-+),
-+ (7,
-+"\040\040\040\040\040\040\040\040\040\051\053\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\051\040\048\040\040\040\040\045\040\040\040\040\040\041\041\040\
-+\\041\041\041\041\041\041\041\041\041\041\040\040\040\044\043\040\
-+\\040\041\041\041\041\041\041\041\041\041\041\041\041\041\041\041\
-+\\041\041\041\041\041\041\041\041\041\041\041\040\040\040\040\040\
-+\\040\041\041\041\041\041\041\041\041\041\041\041\041\041\041\041\
-+\\041\041\041\041\041\041\041\041\041\041\041\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"
-+),
-+ (9,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\000\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (11,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\013\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (12,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\012\012\000\
-+\\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (13,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (14,
-+"\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\016\000\000\000\000\000\000\000\000\000\000\000\000\014\014\000\
-+\\014\014\014\014\014\014\014\014\014\014\000\000\000\000\015\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (16,
-+"\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (17,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (18,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\019\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (20,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\023\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\000\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (21,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\021\021\010\
-+\\021\021\021\021\021\021\021\021\021\021\010\022\000\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (23,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\026\026\026\026\026\026\026\026\026\026\010\010\000\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (24,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\025\000\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (26,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\026\026\026\026\026\026\026\026\026\026\010\027\000\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (31,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\032\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (36,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\037\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (41,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\042\042\000\
-+\\042\042\042\042\042\042\042\042\042\042\000\000\000\000\000\000\
-+\\000\042\042\042\042\042\042\042\042\042\042\042\042\042\042\042\
-+\\042\042\042\042\042\042\042\042\042\042\042\000\000\000\000\000\
-+\\000\042\042\042\042\042\042\042\042\042\042\042\042\042\042\042\
-+\\042\042\042\042\042\042\042\042\042\042\042\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (45,
-+"\046\046\046\046\046\046\046\046\046\046\000\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\047\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046"
-+),
-+ (48,
-+"\049\049\049\049\049\049\049\049\049\049\000\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\050\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049"
-+),
-+ (51,
-+"\000\000\000\000\000\000\000\000\000\052\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+(0, "")]
-+fun f x = x
-+val s = map f (rev (tl (rev s)))
-+exception LexHackingError
+ functor HTMLLexFn (
+ structure Tokens : HTML_TOKENS
+ structure Err : HTML_ERROR
+@@ -484,7 +485,7 @@
+ fun f x = x
+ val s = map f (rev (tl (rev s)))
+ exception LexHackingError
+-fun look ((j,x)::r, i: int) = if i = j then x else look(r, i)
+fun look ((j,x)::r, i) = if i = j then x else look(r, i)
-+ | look ([], i) = raise LexHackingError
-+fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
-+in Vector.fromList(map g
-+[{fin = [], trans = 0},
-+{fin = [], trans = 1},
-+{fin = [], trans = 1},
-+{fin = [], trans = 3},
-+{fin = [], trans = 3},
-+{fin = [], trans = 5},
-+{fin = [], trans = 5},
-+{fin = [], trans = 7},
-+{fin = [], trans = 7},
-+{fin = [(N 79),(N 81)], trans = 9},
-+{fin = [(N 79)], trans = 9},
-+{fin = [(N 81)], trans = 11},
-+{fin = [(N 3)], trans = 12},
-+{fin = [], trans = 13},
-+{fin = [], trans = 14},
-+{fin = [(N 32)], trans = 0},
-+{fin = [], trans = 16},
-+{fin = [], trans = 17},
-+{fin = [], trans = 18},
-+{fin = [(N 37)], trans = 0},
-+{fin = [(N 79),(N 81)], trans = 20},
-+{fin = [(N 79)], trans = 21},
-+{fin = [(N 72),(N 79)], trans = 9},
-+{fin = [(N 79)], trans = 23},
-+{fin = [(N 79)], trans = 24},
-+{fin = [(N 61),(N 79)], trans = 9},
-+{fin = [(N 79)], trans = 26},
-+{fin = [(N 67),(N 79)], trans = 9},
-+{fin = [(N 76),(N 79),(N 81)], trans = 9},
-+{fin = [(N 74),(N 79)], trans = 9},
-+{fin = [(N 44)], trans = 0},
-+{fin = [(N 44)], trans = 31},
-+{fin = [(N 40)], trans = 0},
-+{fin = [(N 42)], trans = 0},
-+{fin = [(N 55)], trans = 0},
-+{fin = [(N 49),(N 55)], trans = 0},
-+{fin = [(N 55)], trans = 36},
-+{fin = [(N 47)], trans = 0},
-+{fin = [(N 53),(N 55)], trans = 0},
-+{fin = [(N 51)], trans = 0},
-+{fin = [(N 25)], trans = 0},
-+{fin = [(N 13),(N 25)], trans = 41},
-+{fin = [(N 13)], trans = 41},
-+{fin = [(N 5),(N 25)], trans = 0},
-+{fin = [(N 15),(N 25)], trans = 0},
-+{fin = [(N 25)], trans = 45},
-+{fin = [], trans = 45},
-+{fin = [(N 23)], trans = 0},
-+{fin = [(N 25)], trans = 48},
-+{fin = [], trans = 48},
-+{fin = [(N 19)], trans = 0},
-+{fin = [(N 10),(N 25)], trans = 51},
-+{fin = [(N 10)], trans = 51},
-+{fin = [(N 7)], trans = 0}])
-+end
-+structure StartStates =
-+ struct
-+ datatype yystartstate = STARTSTATE of int
-+
-+(* start state definitions *)
-+
-+val COM1 = STARTSTATE 3;
-+val COM2 = STARTSTATE 5;
-+val INITIAL = STARTSTATE 1;
-+val STAG = STARTSTATE 7;
-+
-+end
-+type result = UserDeclarations.lexresult
-+ exception LexerError (* raised if illegal leaf action tried *)
-+end
-+
+ | look ([], i) = raise LexHackingError
+ fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
+ in Vector.fromList(map g
+@@ -559,30 +560,31 @@
+ exception LexerError (* raised if illegal leaf action tried *)
+ end
+
+-fun makeLexer yyinput =
+-let val yygone0=1
+- val yylineno = ref 0
+type int = Int.int
+fun makeLexer (yyinput: int -> string) =
+let val yygone0:int= ~1
+ val yylineno: int ref = ref 0
-+
-+ val yyb = ref "\n" (* buffer *)
+
+ val yyb = ref "\n" (* buffer *)
+- val yybl = ref 1 (*buffer length *)
+- val yybufpos = ref 1 (* location of next character to use *)
+- val yygone = ref yygone0 (* position in file of beginning of buffer *)
+ val yybl: int ref = ref 1 (*buffer length *)
+ val yybufpos: int ref = ref 1 (* location of next character to use *)
+ val yygone: int ref = ref yygone0 (* position in file of beginning of buffer *)
-+ val yydone = ref false (* eof found yet? *)
+ val yydone = ref false (* eof found yet? *)
+- val yybegin = ref 1 (*Current 'start state' for lexer *)
+ val yybegin: int ref = ref 1 (*Current 'start state' for lexer *)
-+
-+ val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
-+ yybegin := x
-+
-+fun lex (yyarg as (errorFn, file)) =
-+let fun continue() : Internal.result =
+
+ val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
+ yybegin := x
+
+ fun lex (yyarg as (errorFn, file)) =
+ let fun continue() : Internal.result =
+- let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
+- let fun action (i,nil) = raise LexError
+ let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0: int) =
+ let fun action (i: int,nil) = raise LexError
-+ | action (i,nil::l) = action (i-1,l)
-+ | action (i,(node::acts)::l) =
-+ case node of
-+ Internal.N yyk =>
+ | action (i,nil::l) = action (i-1,l)
+ | action (i,(node::acts)::l) =
+ case node of
+ Internal.N yyk =>
+- (let fun yymktext() = substring(!yyb,i0,i-i0)
+- val yypos = i0+ !yygone
+ (let fun yymktext() = String.substring(!yyb,i0,i-i0)
+ val yypos: int = i0+ !yygone
-+ val _ = yylineno := CharVectorSlice.foldli
-+ (fn (_,#"\n", n) => n+1 | (_,_, n) => n) (!yylineno) (CharVectorSlice.slice (!yyb,i0,SOME(i-i0)))
-+ open UserDeclarations Internal.StartStates
-+ in (yybufpos := i; case yyk of
-+
-+ (* Application actions *)
-+
-+ 10 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 13 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 15 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 19 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 23 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 25 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 3 => let val yytext=yymktext() in addStr yytext; YYBEGIN STAG; continue() end
-+| 32 => let val yytext=yymktext() in case Elems.endTag file (yytext, !yylineno, !yylineno)
-+ of NONE => continue()
-+ | (SOME tag) => tag
-+ (* end case *) end
-+| 37 => (YYBEGIN COM1; continue())
-+| 40 => (YYBEGIN COM2; continue())
-+| 42 => (continue())
-+| 44 => (continue())
-+| 47 => (YYBEGIN COM1; continue())
-+| 49 => (YYBEGIN INITIAL; continue())
-+| 5 => let val yytext=yymktext() in addStr yytext;
-+ YYBEGIN INITIAL;
-+ case Elems.startTag file (getStr(), !yylineno, !yylineno)
-+ of NONE => continue()
-+ | (SOME tag) => tag
-+ (* end case *) end
-+| 51 => (continue())
-+| 53 => (continue())
-+| 55 => (errorFn("bad comment syntax", !yylineno, !yylineno+1);
-+ YYBEGIN INITIAL;
-+ continue())
-+| 61 => (
-+(** At some point, we should support &#SPACE; and &#TAB; **)
-+ continue())
-+| 67 => let val yytext=yymktext() in T.CHAR_REF(yytext, !yylineno, !yylineno) end
-+| 7 => (addStr " "; continue())
-+| 72 => let val yytext=yymktext() in T.ENTITY_REF(yytext, !yylineno, !yylineno) end
-+| 74 => (continue())
-+| 76 => (continue())
-+| 79 => let val yytext=yymktext() in T.PCDATA(yytext, !yylineno, !yylineno) end
-+| 81 => let val yytext=yymktext() in errorFn(concat[
-+ "bogus character #\"", Char.toString(String.sub(yytext, 0)),
-+ "\" in PCDATA\n"
-+ ], !yylineno, !yylineno+1);
-+ continue() end
-+| _ => raise Internal.LexerError
-+
-+ ) end )
-+
+ val _ = yylineno := CharVectorSlice.foldli
+ (fn (_,#"\n", n) => n+1 | (_,_, n) => n) (!yylineno) (CharVectorSlice.slice (!yyb,i0,SOME(i-i0)))
+ open UserDeclarations Internal.StartStates
+@@ -636,30 +638,30 @@
+
+ ) end )
+
+- val {fin,trans} = Unsafe.Vector.sub(Internal.tab, s)
+ val {fin,trans} = Vector.sub (Internal.tab, s)
-+ val NewAcceptingLeaves = fin::AcceptingLeaves
-+ in if l = !yybl then
-+ if trans = #trans(Vector.sub(Internal.tab,0))
-+ then action(l,NewAcceptingLeaves
-+) else let val newchars= if !yydone then "" else yyinput 1024
+ val NewAcceptingLeaves = fin::AcceptingLeaves
+ in if l = !yybl then
+ if trans = #trans(Vector.sub(Internal.tab,0))
+ then action(l,NewAcceptingLeaves
+ ) else let val newchars= if !yydone then "" else yyinput 1024
+- in if (size newchars)=0
+ in if (String.size newchars)=0
-+ then (yydone := true;
-+ if (l=i0) then UserDeclarations.eof yyarg
-+ else action(l,NewAcceptingLeaves))
-+ else (if i0=l then yyb := newchars
+ then (yydone := true;
+ if (l=i0) then UserDeclarations.eof yyarg
+ else action(l,NewAcceptingLeaves))
+ else (if i0=l then yyb := newchars
+- else yyb := substring(!yyb,i0,l-i0)^newchars;
+ else yyb := String.substring(!yyb,i0,l-i0)^newchars;
-+ yygone := !yygone+i0;
+ yygone := !yygone+i0;
+- yybl := size (!yyb);
+ yybl := String.size (!yyb);
-+ scan (s,AcceptingLeaves,l-i0,0))
-+ end
+ scan (s,AcceptingLeaves,l-i0,0))
+ end
+- else let val NewChar = Char.ord(Unsafe.CharVector.sub(!yyb,l))
+- val NewState = Char.ord(Unsafe.CharVector.sub(trans,NewChar))
+ else let val NewChar = Char.ord (CharVector.sub (!yyb,l))
+ val NewState = Char.ord (CharVector.sub (trans,NewChar))
-+ in if NewState=0 then action(l,NewAcceptingLeaves)
-+ else scan(NewState,NewAcceptingLeaves,l+1,i0)
-+ end
-+ end
-+(*
+ in if NewState=0 then action(l,NewAcceptingLeaves)
+ else scan(NewState,NewAcceptingLeaves,l+1,i0)
+ end
+ end
+ (*
+- val start= if substring(!yyb,!yybufpos-1,1)="\n"
+ val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
-+then !yybegin+1 else !yybegin
-+*)
-+ in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
-+ end
-+in continue end
-+ in lex
-+ end
-+end
+ then !yybegin+1 else !yybegin
+ *)
+ in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
diff -Naur smlnj-lib/HTML/html-lib.mlb smlnj-lib-mlton/HTML/html-lib.mlb
--- smlnj-lib/HTML/html-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-lib.mlb 2005-08-18 12:18:13.000000000 -0400
++++ smlnj-lib-mlton/HTML/html-lib.mlb 2005-11-21 11:37:38.000000000 -0500
@@ -0,0 +1,300 @@
+
+ann
@@ -9834,7 +574,7 @@
+local
+ basis l5 =
+ bas
-+ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb deviations.sml
++ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
+ end
+ basis l46 =
+ bas
@@ -10126,7 +866,7 @@
+end
diff -Naur smlnj-lib/INet/inet-lib.mlb smlnj-lib-mlton/INet/inet-lib.mlb
--- smlnj-lib/INet/inet-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/INet/inet-lib.mlb 2005-08-18 12:18:13.000000000 -0400
++++ smlnj-lib-mlton/INet/inet-lib.mlb 2005-11-21 11:37:42.000000000 -0500
@@ -0,0 +1,144 @@
+
+ann
@@ -10274,8 +1014,8 @@
+end
diff -Naur smlnj-lib/PP/pp-lib.mlb smlnj-lib-mlton/PP/pp-lib.mlb
--- smlnj-lib/PP/pp-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/PP/pp-lib.mlb 2005-08-18 12:18:14.000000000 -0400
-@@ -0,0 +1,158 @@
++++ smlnj-lib-mlton/PP/pp-lib.mlb 2005-11-21 11:37:43.000000000 -0500
+@@ -0,0 +1,212 @@
+
+ann
+ "nonexhaustiveMatch warn" "redundantMatch warn"
@@ -10292,7 +1032,7 @@
+ bas
+ (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+ end
-+ basis l63 =
++ basis l83 =
+ bas
+ (* $/html-lib.cm ====> *) $(SML_LIB)/smlnj-lib/HTML/html-lib.mlb
+ end
@@ -10385,58 +1125,112 @@
+ functor gs_13 = PPStreamFn
+ end
+ local
++ signature PP_STREAM = gs_1
++ src/pp-desc-sig.sml
++ in
++ signature gs_14 = PP_DESC
++ end
++ local
++ signature PP_DESC = gs_14
++ signature PP_STREAM = gs_1
++ src/pp-desc-fn.sml
++ in
++ functor gs_15 = PPDescFn
++ end
++ local
+ signature PP_TOKEN = gs_12
+ structure String = gs_9
+ devices/string-token.sml
+ in
-+ structure gs_14 = StringToken
++ structure gs_16 = StringToken
+ end
+ local
+ functor PPStreamFn = gs_13
+ signature PP_STREAM = gs_1
+ structure SimpleTextIODev = gs_5
-+ structure StringToken = gs_14
++ structure StringToken = gs_16
+ structure TextIO = gs_0
+ devices/textio-pp.sml
+ in
-+ structure gs_15 = TextIOPP
++ structure gs_17 = TextIOPP
+ end
+ local
++ open l26
++ in
++ structure gs_18 = ANSITerm
++ end
++ local
+ open l4
+ in
-+ structure gs_16 = List
++ structure gs_19 = TextPrimIO
+ end
+ local
-+ open l63
++ open l4
+ in
-+ structure gs_17 = HTML
++ structure gs_20 = OS
+ end
+ local
-+ structure HTML = gs_17
-+ structure List = gs_16
++ structure ANSITerm = gs_18
++ structure OS = gs_20
+ signature PP_DEVICE = gs_3
++ structure StringCvt = gs_4
++ structure TextIO = gs_0
++ structure TextPrimIO = gs_19
++ devices/ansi-term-dev.sml
++ in
++ structure gs_21 = ANSITermDev
++ end
++ local
++ open l4
++ in
++ structure gs_22 = List
++ end
++ local
++ open l83
++ in
++ structure gs_23 = HTML
++ end
++ local
++ structure HTML = gs_23
++ structure List = gs_22
++ signature PP_DEVICE = gs_3
+ structure String = gs_9
+ devices/html-dev.sml
+ in
-+ structure gs_18 = HTMLDev
++ structure gs_24 = HTMLDev
+ end
++ local
++ structure ANSITermDev = gs_21
++ functor PPStreamFn = gs_13
++ signature PP_STREAM = gs_1
++ signature PP_TOKEN = gs_12
++ structure String = gs_9
++ structure TextIO = gs_0
++ devices/ansi-term-pp.sml
++ in
++ structure gs_25 = ANSITermPP
++ end
+in
-+ structure HTMLDev = gs_18
++ structure ANSITermDev = gs_21
++ structure ANSITermPP = gs_25
++ structure HTMLDev = gs_24
+ functor PPDebugFn = gs_2
++ functor PPDescFn = gs_15
+ functor PPStreamFn = gs_13
++ signature PP_DESC = gs_14
+ signature PP_DEVICE = gs_3
+ signature PP_STREAM = gs_1
+ signature PP_TOKEN = gs_12
+ structure SimpleTextIODev = gs_5
-+ structure StringToken = gs_14
-+ structure TextIOPP = gs_15
++ structure StringToken = gs_16
++ structure TextIOPP = gs_17
+end
+end
+
+end
diff -Naur smlnj-lib/Reactive/reactive-lib.mlb smlnj-lib-mlton/Reactive/reactive-lib.mlb
--- smlnj-lib/Reactive/reactive-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Reactive/reactive-lib.mlb 2005-08-18 12:18:14.000000000 -0400
++++ smlnj-lib-mlton/Reactive/reactive-lib.mlb 2005-11-21 11:37:43.000000000 -0500
@@ -0,0 +1,70 @@
+
+ann
@@ -10510,14 +1304,13 @@
+end
diff -Naur smlnj-lib/README.mlton smlnj-lib-mlton/README.mlton
--- smlnj-lib/README.mlton 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/README.mlton 2005-08-17 20:24:05.000000000 -0400
-@@ -0,0 +1,18 @@
++++ smlnj-lib-mlton/README.mlton 2005-11-17 15:56:55.000000000 -0500
+@@ -0,0 +1,15 @@
+The following changes were made to the SML/NJ Library, in addition to
+deriving the {{{.mlb}}} files from the {{{.cm}}} files:
-+ * {{{Util/deviations.sml}}} (added): Accomodate [:SMLNJDeviations: SML/NJ's deviations] from the [http://www.standardml.org/Basis Basis Library specification].
+ * {{{Util/redblack-set-fn.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
+ * {{{Util/redblack-map-fn.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
-+ * {{{Util/graph-scc.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
++ * {{{Util/graph-scc-fn.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
+ * {{{Util/bit-array.sml}}} (modified): The computation of the {{{maxLen}}} is given by: {{{
+val maxLen = 8*Word8Array.maxLen
+}}} This is fine in SML/NJ where {{{Word8Array.maxLen}}} is 16777215, but in MLton, {{{Word8Array.maxLen}}} is equal to {{{valOf(Int.maxInt)}}}, so the computation overflows. To accomodate both SML/NJ and MLton, the computation is replaced by {{{
@@ -10526,13 +1319,11 @@
+ * {{{Util/engine.mlton.sml}}} (added, not exported): Implements {{{structure Engine}}}, providing time-limited, resumable computations using ["MLtonThread"], ["MLtonSignal"], and ["MLtonItimer"].
+ * {{{Util/time-limit.mlton.sml}}} (added): Implements {{{structure TimeLimit}}} using {{{structure Engine}}}. The SML/NJ implementation of {{{structure TimeLimit}}} uses SML/NJ's first-class continuations, signals, and interval timer.
+ * {{{Util/time-limit.mlb}}} (added): Exports {{{structure TimeLimit}}}, which is ''not'' exported by {{{smlnj-lib.mlb}}}. Since MLton is very conservative in the presence of threads and signals, program performance may be adversely affected by unecessarily including {{{structure TimeLimit}}}.
-+ * {{{Unix/deviations.sml}}} (added, not exported): Accomodate [:SMLNJDeviations: SML/NJ's deviations] from the [http://www.standardml.org/Basis Basis Library specification].
-+ * {{{HTML/deviations.sml}}} (added, not exported): Accomodate [:SMLNJDeviations: SML/NJ's deviations] from the [http://www.standardml.org/Basis Basis Library specification].
+ * {{{HTML/html-elements-fn.sml}}} (modified): Rewrote use of ''or-patterns''.
+ * {{{HTML/html-attrs-fn.sml}}} (modified): Rewrote use of ''or-patterns''.
diff -Naur smlnj-lib/RegExp/regexp-lib.mlb smlnj-lib-mlton/RegExp/regexp-lib.mlb
--- smlnj-lib/RegExp/regexp-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/RegExp/regexp-lib.mlb 2005-08-18 12:18:15.000000000 -0400
++++ smlnj-lib-mlton/RegExp/regexp-lib.mlb 2005-11-21 11:37:44.000000000 -0500
@@ -0,0 +1,214 @@
+
+ann
@@ -10750,7 +1541,7 @@
+end
diff -Naur smlnj-lib/smlnj-lib.mlb smlnj-lib-mlton/smlnj-lib.mlb
--- smlnj-lib/smlnj-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/smlnj-lib.mlb 2005-08-17 20:23:34.000000000 -0400
++++ smlnj-lib-mlton/smlnj-lib.mlb 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,13 @@
+local
+ Controls/controls-lib.mlb
@@ -10765,22 +1556,9 @@
+ Util/time-limit.mlb
+in
+end
-diff -Naur smlnj-lib/Unix/deviations.sml smlnj-lib-mlton/Unix/deviations.sml
---- smlnj-lib/Unix/deviations.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Unix/deviations.sml 2005-08-17 20:23:34.000000000 -0400
-@@ -0,0 +1,9 @@
-+structure Substring :
-+ sig
-+ include SUBSTRING
-+ val all : string -> substring
-+ end =
-+ struct
-+ open Substring
-+ val all = full
-+ end
diff -Naur smlnj-lib/Unix/unix-lib.mlb smlnj-lib-mlton/Unix/unix-lib.mlb
--- smlnj-lib/Unix/unix-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Unix/unix-lib.mlb 2005-08-18 12:18:15.000000000 -0400
++++ smlnj-lib-mlton/Unix/unix-lib.mlb 2005-11-21 11:37:44.000000000 -0500
@@ -0,0 +1,45 @@
+
+ann
@@ -10792,7 +1570,7 @@
+local
+ basis l4 =
+ bas
-+ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb deviations.sml
++ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
+ end
+in
+local
@@ -10828,8 +1606,8 @@
+
+end
diff -Naur smlnj-lib/Util/bit-array.sml smlnj-lib-mlton/Util/bit-array.sml
---- smlnj-lib/Util/bit-array.sml 2003-09-05 17:34:26.000000000 -0400
-+++ smlnj-lib-mlton/Util/bit-array.sml 2005-08-17 20:23:34.000000000 -0400
+--- smlnj-lib/Util/bit-array.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/Util/bit-array.sml 2005-08-17 20:13:05.000000000 -0400
@@ -47,7 +47,9 @@
* We maintain the invariant that all bits >= nbits are 0.
*)
@@ -10841,24 +1619,9 @@
datatype vector = BA of {nbits : int, bits : W8A.array}
fun array (0,init) = BA{nbits=0,bits=W8A.array(0,0w0)}
-diff -Naur smlnj-lib/Util/deviations.sml smlnj-lib-mlton/Util/deviations.sml
---- smlnj-lib/Util/deviations.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/deviations.sml 2005-08-17 20:23:34.000000000 -0400
-@@ -0,0 +1,11 @@
-+structure Substring :
-+ sig
-+ include SUBSTRING
-+ val all : string -> substring
-+ end =
-+ struct
-+ open Substring
-+ val all = full
-+ end
-+
-+structure Pack32Big = PackWord32Big
diff -Naur smlnj-lib/Util/engine.mlton.sml smlnj-lib-mlton/Util/engine.mlton.sml
--- smlnj-lib/Util/engine.mlton.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/engine.mlton.sml 2005-08-17 20:23:34.000000000 -0400
++++ smlnj-lib-mlton/Util/engine.mlton.sml 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,99 @@
+(* Copyright (C) 1999-2004 Henry Cejtin, Matthew Fluet, Suresh
+ * Jagannathan, and Stephen Weeks.
@@ -10959,9 +1722,9 @@
+ end
+
+end
-diff -Naur smlnj-lib/Util/graph-scc.sml smlnj-lib-mlton/Util/graph-scc.sml
---- smlnj-lib/Util/graph-scc.sml 2001-05-04 12:37:36.000000000 -0400
-+++ smlnj-lib-mlton/Util/graph-scc.sml 2005-08-17 20:23:49.000000000 -0400
+diff -Naur smlnj-lib/Util/graph-scc-fn.sml smlnj-lib-mlton/Util/graph-scc-fn.sml
+--- smlnj-lib/Util/graph-scc-fn.sml 2005-08-04 22:26:29.000000000 -0400
++++ smlnj-lib-mlton/Util/graph-scc-fn.sml 2005-08-17 20:13:05.000000000 -0400
@@ -8,7 +8,7 @@
* author: Matthias Blume
*)
@@ -10972,8 +1735,8 @@
structure Nd = Nd
diff -Naur smlnj-lib/Util/redblack-map-fn.sml smlnj-lib-mlton/Util/redblack-map-fn.sml
---- smlnj-lib/Util/redblack-map-fn.sml 2002-05-16 14:44:04.000000000 -0400
-+++ smlnj-lib-mlton/Util/redblack-map-fn.sml 2005-08-17 20:23:49.000000000 -0400
+--- smlnj-lib/Util/redblack-map-fn.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/Util/redblack-map-fn.sml 2005-08-17 20:13:05.000000000 -0400
@@ -20,7 +20,7 @@
* its child will be a red leaf.
*)
@@ -10984,8 +1747,8 @@
structure Key = K
diff -Naur smlnj-lib/Util/redblack-set-fn.sml smlnj-lib-mlton/Util/redblack-set-fn.sml
---- smlnj-lib/Util/redblack-set-fn.sml 2001-05-04 12:37:36.000000000 -0400
-+++ smlnj-lib-mlton/Util/redblack-set-fn.sml 2005-08-17 20:23:49.000000000 -0400
+--- smlnj-lib/Util/redblack-set-fn.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/Util/redblack-set-fn.sml 2005-08-17 20:13:05.000000000 -0400
@@ -20,7 +20,7 @@
* its child will be a red leaf.
*)
@@ -10997,8 +1760,8 @@
structure Key = K
diff -Naur smlnj-lib/Util/smlnj-lib.mlb smlnj-lib-mlton/Util/smlnj-lib.mlb
--- smlnj-lib/Util/smlnj-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/smlnj-lib.mlb 2005-08-18 12:18:18.000000000 -0400
-@@ -0,0 +1,1077 @@
++++ smlnj-lib-mlton/Util/smlnj-lib.mlb 2005-11-21 11:38:02.000000000 -0500
+@@ -0,0 +1,1099 @@
+
+ann
+ "nonexhaustiveMatch warn" "redundantMatch warn"
@@ -11009,7 +1772,7 @@
+local
+ basis l4 =
+ bas
-+ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb $(SML_LIB)/basis/sml-nj.mlb deviations.sml
++ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb $(SML_LIB)/basis/sml-nj.mlb
+ end
+in
+local
@@ -11225,88 +1988,99 @@
+ structure gs_32 = GetOpt
+ end
+ local
++ interval-domain-sig.sml
++ in
++ signature gs_33 = INTERVAL_DOMAIN
++ end
++ local
++ signature INTERVAL_DOMAIN = gs_33
++ interval-set-sig.sml
++ in
++ signature gs_34 = INTERVAL_SET
++ end
++ local
+ structure StringCvt = gs_29
+ parser-comb-sig.sml
+ in
-+ signature gs_33 = PARSER_COMB
++ signature gs_35 = PARSER_COMB
+ end
+ local
+ open l4
+ in
-+ structure gs_34 = Word8
++ structure gs_36 = Word8
+ end
+ local
+ open l4
+ in
-+ structure gs_35 = CharVector
++ structure gs_37 = CharVector
+ end
+ local
+ open l4
+ in
-+ structure gs_36 = LargeWord
++ structure gs_38 = LargeWord
+ end
+ local
+ open l4
+ in
-+ structure gs_37 = LargeInt
++ structure gs_39 = LargeInt
+ end
+ local
+ open l4
+ in
-+ structure gs_38 = Word
++ structure gs_40 = Word
+ end
+ local
+ open l4
+ in
-+ structure gs_39 = Real
++ structure gs_41 = Real
+ end
+ local
+ open l4
+ in
-+ structure gs_40 = LargeReal
++ structure gs_42 = LargeReal
+ end
+ local
+ atom-sig.sml
+ in
-+ signature gs_41 = ATOM
++ signature gs_43 = ATOM
+ end
+ local
+ open l4
+ in
-+ structure gs_42 = Unsafe
++ structure gs_44 = Unsafe
+ end
+ local
+ structure Char = gs_30
+ structure Substring = gs_28
-+ structure Unsafe = gs_42
-+ structure Word = gs_38
++ structure Unsafe = gs_44
++ structure Word = gs_40
+ hash-string.sml
+ in
-+ structure gs_43 = HashString
++ structure gs_45 = HashString
+ end
+ local
-+ signature ATOM = gs_41
++ signature ATOM = gs_43
+ structure Array = gs_12
-+ structure HashString = gs_43
++ structure HashString = gs_45
+ structure String = gs_27
+ structure Substring = gs_28
-+ structure Word = gs_38
++ structure Word = gs_40
+ atom.sml
+ in
-+ structure gs_44 = Atom
++ structure gs_46 = Atom
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ structure LargeWord = gs_38
++ structure Real = gs_41
++ structure Word = gs_40
++ structure Word8 = gs_36
+ format-sig.sml
+ in
-+ signature gs_45 = FORMAT
++ signature gs_47 = FORMAT
+ end
+ local
+ structure Int = gs_3
@@ -11314,86 +2088,86 @@
+ structure StringCvt = gs_29
+ real-format.sml
+ in
-+ structure gs_46 = RealFormat
++ structure gs_48 = RealFormat
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Char = gs_30
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ structure LargeWord = gs_38
++ structure Real = gs_41
+ structure StringCvt = gs_29
+ structure Substring = gs_28
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure Word = gs_40
++ structure Word8 = gs_36
+ fmt-fields.sml
+ in
-+ structure gs_47 = FmtFields
++ structure gs_49 = FmtFields
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Char = gs_30
-+ structure CharVector = gs_35
-+ signature FORMAT = gs_45
-+ structure FmtFields = gs_47
++ structure CharVector = gs_37
++ signature FORMAT = gs_47
++ structure FmtFields = gs_49
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
-+ structure RealFormat = gs_46
++ structure LargeInt = gs_39
++ structure LargeWord = gs_38
++ structure Real = gs_41
++ structure RealFormat = gs_48
+ structure String = gs_27
+ structure StringCvt = gs_29
+ structure Substring = gs_28
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure Word = gs_40
++ structure Word8 = gs_36
+ format.sml
+ in
-+ structure gs_48 = Format
++ structure gs_50 = Format
+ end
+ local
+ priority-sig.sml
+ in
-+ signature gs_49 = PRIORITY
++ signature gs_51 = PRIORITY
+ end
+ local
+ hash-key-sig.sml
+ in
-+ signature gs_50 = HASH_KEY
++ signature gs_52 = HASH_KEY
+ end
+ local
-+ signature HASH_KEY = gs_50
++ signature HASH_KEY = gs_52
+ mono-hash-table-sig.sml
+ in
-+ signature gs_51 = MONO_HASH_TABLE
++ signature gs_53 = MONO_HASH_TABLE
+ end
+ local
+ structure Array = gs_12
-+ structure Word = gs_38
++ structure Word = gs_40
+ hash-table-rep.sml
+ in
-+ structure gs_52 = HashTableRep
++ structure gs_54 = HashTableRep
+ end
+ local
+ structure Array = gs_12
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH_TABLE = gs_51
-+ structure Word = gs_38
++ structure HashTableRep = gs_54
++ signature MONO_HASH_TABLE = gs_53
++ structure Word = gs_40
+ int-hash-table.sml
+ in
-+ structure gs_53 = IntHashTable
++ structure gs_55 = IntHashTable
+ end
+ local
+ open l4
+ in
-+ signature gs_54 = MONO_ARRAY
++ signature gs_56 = MONO_ARRAY
+ end
+ local
-+ signature MONO_ARRAY = gs_54
++ signature MONO_ARRAY = gs_56
+ bit-array-sig.sml
+ in
-+ signature gs_55 = BIT_ARRAY
++ signature gs_57 = BIT_ARRAY
+ end
+ local
+ structure LibBase = gs_5
@@ -11401,20 +2175,20 @@
+ signature ORD_SET = gs_2
+ redblack-set-fn.sml
+ in
-+ functor gs_56 = RedBlackSetFn
++ functor gs_58 = RedBlackSetFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor RedBlackSetFn = gs_56
++ structure Atom = gs_46
++ functor RedBlackSetFn = gs_58
+ atom-redblack-set.sml
+ in
-+ structure gs_57 = AtomRedBlackSet
++ structure gs_59 = AtomRedBlackSet
+ end
+ local
-+ structure AtomRedBlackSet = gs_57
++ structure AtomRedBlackSet = gs_59
+ atom-set.sml
+ in
-+ structure gs_58 = AtomSet
++ structure gs_60 = AtomSet
+ end
+ local
+ structure LibBase = gs_5
@@ -11422,139 +2196,147 @@
+ signature ORD_MAP = gs_7
+ redblack-map-fn.sml
+ in
-+ functor gs_59 = RedBlackMapFn
++ functor gs_61 = RedBlackMapFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor RedBlackMapFn = gs_59
++ structure Atom = gs_46
++ functor RedBlackMapFn = gs_61
+ atom-redblack-map.sml
+ in
-+ structure gs_60 = AtomRedBlackMap
++ structure gs_62 = AtomRedBlackMap
+ end
+ local
-+ structure AtomRedBlackMap = gs_60
++ structure AtomRedBlackMap = gs_62
+ atom-map.sml
+ in
-+ structure gs_61 = AtomMap
++ structure gs_63 = AtomMap
+ end
+ local
+ structure List = gs_0
+ signature PROP_LIST = gs_26
+ plist.sml
+ in
-+ structure gs_62 = PropList
++ structure gs_64 = PropList
+ end
+ local
+ open l4
+ in
-+ structure gs_63 = Vector
++ structure gs_65 = Vector
+ end
+ local
+ char-map-sig.sml
+ in
-+ signature gs_64 = CHAR_MAP
++ signature gs_66 = CHAR_MAP
+ end
+ local
+ structure Array = gs_12
-+ signature CHAR_MAP = gs_64
++ signature CHAR_MAP = gs_66
+ structure Char = gs_30
+ structure String = gs_27
-+ structure Vector = gs_63
++ structure Vector = gs_65
+ char-map.sml
+ in
-+ structure gs_65 = CharMap
++ structure gs_67 = CharMap
+ end
+ local
+ list-xprod-sig.sml
+ in
-+ signature gs_66 = LIST_XPROD
++ signature gs_68 = LIST_XPROD
+ end
+ local
+ signature ORD_KEY = gs_1
+ graph-scc-sig.sml
+ in
-+ signature gs_67 = GRAPH_SCC
++ signature gs_69 = GRAPH_SCC
+ end
+ local
-+ signature GRAPH_SCC = gs_67
++ signature GRAPH_SCC = gs_69
+ structure List = gs_0
+ signature ORD_KEY = gs_1
-+ functor RedBlackMapFn = gs_59
-+ graph-scc.sml
++ functor RedBlackMapFn = gs_61
++ graph-scc-fn.sml
+ in
-+ functor gs_68 = GraphSCCFn
++ functor gs_70 = GraphSCCFn
+ end
+ local
+ structure Array = gs_12
-+ signature HASH_KEY = gs_50
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH_TABLE = gs_51
-+ structure Word = gs_38
++ signature HASH_KEY = gs_52
++ structure HashTableRep = gs_54
++ signature MONO_HASH_TABLE = gs_53
++ structure Word = gs_40
+ hash-table-fn.sml
+ in
-+ functor gs_69 = HashTableFn
++ functor gs_71 = HashTableFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor HashTableFn = gs_69
++ structure Atom = gs_46
++ functor HashTableFn = gs_71
+ atom-table.sml
+ in
-+ structure gs_70 = AtomTable
++ structure gs_72 = AtomTable
+ end
+ local
+ structure StringCvt = gs_29
+ list-format-sig.sml
+ in
-+ signature gs_71 = LIST_FORMAT
++ signature gs_73 = LIST_FORMAT
+ end
+ local
-+ signature LIST_FORMAT = gs_71
++ signature LIST_FORMAT = gs_73
+ structure String = gs_27
+ structure StringCvt = gs_29
+ list-format.sml
+ in
-+ structure gs_72 = ListFormat
++ structure gs_74 = ListFormat
+ end
+ local
+ open l4
+ in
-+ signature gs_73 = MONO_VECTOR
++ signature gs_75 = MONO_VECTOR
+ end
+ local
-+ signature MONO_VECTOR = gs_73
++ signature MONO_VECTOR = gs_75
+ bit-vector-sig.sml
+ in
-+ signature gs_74 = BIT_VECTOR
++ signature gs_76 = BIT_VECTOR
+ end
+ local
-+ signature PARSER_COMB = gs_33
++ signature PARSER_COMB = gs_35
+ structure StringCvt = gs_29
+ structure Substring = gs_28
+ parser-comb.sml
+ in
-+ structure gs_75 = ParserComb
++ structure gs_77 = ParserComb
+ end
+ local
-+ signature HASH_KEY = gs_50
++ signature HASH_KEY = gs_52
+ mono-hash2-table-sig.sml
+ in
-+ signature gs_76 = MONO_HASH2_TABLE
++ signature gs_78 = MONO_HASH2_TABLE
+ end
+ local
++ signature INTERVAL_DOMAIN = gs_33
++ signature INTERVAL_SET = gs_34
++ structure List = gs_0
++ interval-set-fn.sml
++ in
++ functor gs_79 = IntervalSetFn
++ end
++ local
+ structure LibBase = gs_5
+ signature ORD_SET = gs_2
-+ structure Word = gs_38
++ structure Word = gs_40
+ word-redblack-set.sml
+ in
-+ structure gs_77 = WordRedBlackSet
++ structure gs_80 = WordRedBlackSet
+ end
+ local
+ structure LibBase = gs_5
+ signature ORD_MAP = gs_7
-+ structure Word = gs_38
++ structure Word = gs_40
+ word-redblack-map.sml
+ in
-+ structure gs_78 = WordRedBlackMap
++ structure gs_81 = WordRedBlackMap
+ end
+ local
+ structure Int = gs_3
@@ -11563,7 +2345,7 @@
+ signature ORD_SET = gs_2
+ int-list-set.sml
+ in
-+ structure gs_79 = IntListSet
++ structure gs_82 = IntListSet
+ end
+ local
+ structure Int = gs_3
@@ -11572,24 +2354,24 @@
+ signature ORD_MAP = gs_7
+ int-list-map.sml
+ in
-+ structure gs_80 = IntListMap
++ structure gs_83 = IntListMap
+ end
+ local
+ open l4
+ in
-+ structure gs_81 = OS
++ structure gs_84 = OS
+ end
+ local
+ path-util-sig.sml
+ in
-+ signature gs_82 = PATH_UTIL
++ signature gs_85 = PATH_UTIL
+ end
+ local
-+ structure OS = gs_81
-+ signature PATH_UTIL = gs_82
++ structure OS = gs_84
++ signature PATH_UTIL = gs_85
+ path-util.sml
+ in
-+ structure gs_83 = PathUtil
++ structure gs_86 = PathUtil
+ end
+ local
+ structure LibBase = gs_5
@@ -11598,7 +2380,7 @@
+ signature ORD_SET = gs_2
+ binary-set-fn.sml
+ in
-+ functor gs_84 = BinarySetFn
++ functor gs_87 = BinarySetFn
+ end
+ local
+ structure LibBase = gs_5
@@ -11606,231 +2388,231 @@
+ signature ORD_MAP = gs_7
+ binary-map-fn.sml
+ in
-+ functor gs_85 = BinaryMapFn
++ functor gs_88 = BinaryMapFn
+ end
+ local
+ open l4
+ in
-+ structure gs_86 = ArraySlice
++ structure gs_89 = ArraySlice
+ end
+ local
+ open l4
+ in
-+ structure gs_87 = Math
++ structure gs_90 = Math
+ end
+ local
+ open l4
+ in
-+ structure gs_88 = Pack32Big
++ structure gs_91 = PackWord32Big
+ end
+ local
+ open l4
+ in
-+ structure gs_89 = Word8Vector
++ structure gs_92 = Word8Vector
+ end
+ local
+ open l4
+ in
-+ structure gs_90 = Word8Array
++ structure gs_93 = Word8Array
+ end
+ local
+ open l4
+ in
-+ structure gs_91 = Word31
++ structure gs_94 = Word31
+ end
+ local
+ open l4
+ in
-+ structure gs_92 = Byte
++ structure gs_95 = Byte
+ end
+ local
+ random-sig.sml
+ in
-+ signature gs_93 = RANDOM
++ signature gs_96 = RANDOM
+ end
+ local
+ structure Array = gs_12
-+ structure Byte = gs_92
-+ structure LargeWord = gs_36
++ structure Byte = gs_95
++ structure LargeWord = gs_38
+ structure LibBase = gs_5
-+ structure Pack32Big = gs_88
-+ signature RANDOM = gs_93
-+ structure Word31 = gs_91
-+ structure Word8Array = gs_90
-+ structure Word8Vector = gs_89
++ structure PackWord32Big = gs_91
++ signature RANDOM = gs_96
++ structure Word31 = gs_94
++ structure Word8Array = gs_93
++ structure Word8Vector = gs_92
+ random.sml
+ in
-+ structure gs_94 = Random
++ structure gs_97 = Random
+ end
+ local
+ structure Array = gs_12
-+ structure ArraySlice = gs_86
-+ structure Random = gs_94
-+ structure Real = gs_39
-+ structure Unsafe = gs_42
-+ structure Word = gs_38
++ structure ArraySlice = gs_89
++ structure Random = gs_97
++ structure Real = gs_41
++ structure Unsafe = gs_44
++ structure Word = gs_40
+ real-order-stats.sml
+ in
-+ structure gs_95 = RealOrderStats
++ structure gs_98 = RealOrderStats
+ end
+ local
+ structure Array = gs_12
-+ structure ArraySlice = gs_86
-+ structure Math = gs_87
-+ structure RealOrderStats = gs_95
-+ structure Unsafe = gs_42
++ structure ArraySlice = gs_89
++ structure Math = gs_90
++ structure RealOrderStats = gs_98
++ structure Unsafe = gs_44
+ univariate-stats.sml
+ in
-+ structure gs_96 = UnivariateStats
++ structure gs_99 = UnivariateStats
+ end
+ local
-+ signature BIT_ARRAY = gs_55
-+ structure Byte = gs_92
++ signature BIT_ARRAY = gs_57
++ structure Byte = gs_95
+ structure Int = gs_3
+ structure LibBase = gs_5
+ structure List = gs_0
-+ structure Word = gs_38
-+ structure Word8 = gs_34
-+ structure Word8Array = gs_90
-+ structure Word8Vector = gs_89
++ structure Word = gs_40
++ structure Word8 = gs_36
++ structure Word8Array = gs_93
++ structure Word8Vector = gs_92
+ bit-array.sml
+ in
-+ structure gs_97 = BitArray
++ structure gs_100 = BitArray
+ end
+ local
+ structure Array = gs_12
-+ signature MONO_ARRAY = gs_54
-+ structure Vector = gs_63
++ signature MONO_ARRAY = gs_56
++ structure Vector = gs_65
+ mono-array-fn.sml
+ in
-+ functor gs_98 = MonoArrayFn
++ functor gs_101 = MonoArrayFn
+ end
+ local
-+ signature MONO_ARRAY = gs_54
++ signature MONO_ARRAY = gs_56
+ bsearch-fn.sml
+ in
-+ functor gs_99 = BSearchFn
++ functor gs_102 = BSearchFn
+ end
+ local
+ mono-dynamic-array-sig.sml
+ in
-+ signature gs_100 = MONO_DYNAMIC_ARRAY
++ signature gs_103 = MONO_DYNAMIC_ARRAY
+ end
+ local
+ open l4
+ in
-+ structure gs_101 = Bool
++ structure gs_104 = Bool
+ end
+ local
+ structure StringCvt = gs_29
+ format-comb-sig.sml
+ in
-+ signature gs_102 = FORMAT_COMB
++ signature gs_105 = FORMAT_COMB
+ end
+ local
-+ structure Bool = gs_101
++ structure Bool = gs_104
+ structure Char = gs_30
-+ signature FORMAT_COMB = gs_102
++ signature FORMAT_COMB = gs_105
+ structure Int = gs_3
-+ structure Real = gs_39
++ structure Real = gs_41
+ structure String = gs_27
+ structure StringCvt = gs_29
+ format-comb.sml
+ in
-+ structure gs_103 = FormatComb
++ structure gs_106 = FormatComb
+ end
+ local
+ queue-sig.sml
+ in
-+ signature gs_104 = QUEUE
++ signature gs_107 = QUEUE
+ end
+ local
+ fifo-sig.sml
+ in
-+ signature gs_105 = FIFO
++ signature gs_108 = FIFO
+ end
+ local
-+ signature FIFO = gs_105
++ signature FIFO = gs_108
+ structure List = gs_0
+ fifo.sml
+ in
-+ structure gs_106 = Fifo
++ structure gs_109 = Fifo
+ end
+ local
-+ structure Fifo = gs_106
-+ signature QUEUE = gs_104
++ structure Fifo = gs_109
++ signature QUEUE = gs_107
+ queue.sml
+ in
-+ structure gs_107 = Queue
++ structure gs_110 = Queue
+ end
+ local
+ structure Array = gs_12
-+ signature HASH_KEY = gs_50
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH2_TABLE = gs_76
-+ structure Word = gs_38
++ signature HASH_KEY = gs_52
++ structure HashTableRep = gs_54
++ signature MONO_HASH2_TABLE = gs_78
++ structure Word = gs_40
+ hash2-table-fn.sml
+ in
-+ functor gs_108 = Hash2TableFn
++ functor gs_111 = Hash2TableFn
+ end
+ local
+ structure Array = gs_12
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH_TABLE = gs_51
-+ structure Word = gs_38
++ structure HashTableRep = gs_54
++ signature MONO_HASH_TABLE = gs_53
++ structure Word = gs_40
+ word-hash-table.sml
+ in
-+ structure gs_109 = WordHashTable
++ structure gs_112 = WordHashTable
+ end
+ local
-+ structure Atom = gs_44
-+ structure AtomTable = gs_70
++ structure Atom = gs_46
++ structure AtomTable = gs_72
+ structure List = gs_0
+ keyword-fn.sml
+ in
-+ functor gs_110 = KeywordFn
++ functor gs_113 = KeywordFn
+ end
+ local
+ mono-priorityq-sig.sml
+ in
-+ signature gs_111 = MONO_PRIORITYQ
++ signature gs_114 = MONO_PRIORITYQ
+ end
+ local
+ structure List = gs_0
-+ signature MONO_PRIORITYQ = gs_111
-+ signature PRIORITY = gs_49
++ signature MONO_PRIORITYQ = gs_114
++ signature PRIORITY = gs_51
+ left-priorityq-fn.sml
+ in
-+ functor gs_112 = LeftPriorityQFn
++ functor gs_115 = LeftPriorityQFn
+ end
+ local
+ hash-table-sig.sml
+ in
-+ signature gs_113 = HASH_TABLE
++ signature gs_116 = HASH_TABLE
+ end
+ local
+ structure Array = gs_12
-+ signature HASH_TABLE = gs_113
-+ structure HashTableRep = gs_52
-+ structure Word = gs_38
++ signature HASH_TABLE = gs_116
++ structure HashTableRep = gs_54
++ structure Word = gs_40
+ hash-table.sml
+ in
-+ structure gs_114 = HashTable
++ structure gs_117 = HashTable
+ end
+ local
+ structure General = gs_13
+ structure Int = gs_3
-+ signature MONO_ARRAY = gs_54
-+ signature MONO_DYNAMIC_ARRAY = gs_100
++ signature MONO_ARRAY = gs_56
++ signature MONO_DYNAMIC_ARRAY = gs_103
+ dynamic-array-fn.sml
+ in
-+ functor gs_115 = DynamicArrayFn
++ functor gs_118 = DynamicArrayFn
+ end
+ local
-+ signature MONO_ARRAY = gs_54
++ signature MONO_ARRAY = gs_56
+ mono-array-sort-sig.sml
+ in
-+ signature gs_116 = MONO_ARRAY_SORT
++ signature gs_119 = MONO_ARRAY_SORT
+ end
+ local
+ structure Int = gs_3
@@ -11838,7 +2620,7 @@
+ signature ORD_SET = gs_2
+ int-redblack-set.sml
+ in
-+ structure gs_117 = IntRedBlackSet
++ structure gs_120 = IntRedBlackSet
+ end
+ local
+ structure Int = gs_3
@@ -11846,239 +2628,242 @@
+ signature ORD_MAP = gs_7
+ int-redblack-map.sml
+ in
-+ structure gs_118 = IntRedBlackMap
++ structure gs_121 = IntRedBlackMap
+ end
+ local
+ array-sort-sig.sml
+ in
-+ signature gs_119 = ARRAY_SORT
++ signature gs_122 = ARRAY_SORT
+ end
+ local
-+ signature ARRAY_SORT = gs_119
++ signature ARRAY_SORT = gs_122
+ structure Array = gs_12
+ structure Int = gs_3
-+ structure Unsafe = gs_42
++ structure Unsafe = gs_44
+ array-qsort.sml
+ in
-+ structure gs_120 = ArrayQSort
++ structure gs_123 = ArrayQSort
+ end
+ local
+ uref-sig.sml
+ in
-+ signature gs_121 = UREF
++ signature gs_124 = UREF
+ end
+ local
-+ signature UREF = gs_121
++ signature UREF = gs_124
+ simple-uref.sml
+ in
-+ structure gs_122 = SimpleURef
++ structure gs_125 = SimpleURef
+ end
+ local
+ listsort-sig.sml
+ in
-+ signature gs_123 = LIST_SORT
++ signature gs_126 = LIST_SORT
+ end
+ local
-+ signature LIST_SORT = gs_123
++ signature LIST_SORT = gs_126
+ structure LibBase = gs_5
+ list-mergesort.sml
+ in
-+ structure gs_124 = ListMergeSort
++ structure gs_127 = ListMergeSort
+ end
+ local
+ structure Int = gs_3
-+ signature MONO_ARRAY = gs_54
-+ signature MONO_ARRAY_SORT = gs_116
++ signature MONO_ARRAY = gs_56
++ signature MONO_ARRAY_SORT = gs_119
+ array-qsort-fn.sml
+ in
-+ functor gs_125 = ArrayQSortFn
++ functor gs_128 = ArrayQSortFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor BinarySetFn = gs_84
++ structure Atom = gs_46
++ functor BinarySetFn = gs_87
+ atom-binary-set.sml
+ in
-+ structure gs_126 = AtomBinarySet
++ structure gs_129 = AtomBinarySet
+ end
+ local
-+ structure Atom = gs_44
-+ functor BinaryMapFn = gs_85
++ structure Atom = gs_46
++ functor BinaryMapFn = gs_88
+ atom-binary-map.sml
+ in
-+ structure gs_127 = AtomBinaryMap
++ structure gs_130 = AtomBinaryMap
+ end
+ local
-+ signature UREF = gs_121
++ signature UREF = gs_124
+ uref.sml
+ in
-+ structure gs_128 = URef
++ structure gs_131 = URef
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ structure LargeWord = gs_38
++ structure Real = gs_41
+ structure StringCvt = gs_29
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure Word = gs_40
++ structure Word8 = gs_36
+ scan-sig.sml
+ in
-+ signature gs_129 = SCAN
++ signature gs_132 = SCAN
+ end
+ local
-+ structure Bool = gs_101
++ structure Bool = gs_104
+ structure Char = gs_30
-+ structure FmtFields = gs_47
++ structure FmtFields = gs_49
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ signature SCAN = gs_129
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ signature SCAN = gs_132
+ structure StringCvt = gs_29
+ structure Substring = gs_28
-+ structure Word8Array = gs_90
++ structure Word8Array = gs_93
+ scan.sml
+ in
-+ structure gs_130 = Scan
++ structure gs_133 = Scan
+ end
+ local
+ open l4
+ in
-+ structure gs_131 = Int32
++ structure gs_134 = Int32
+ end
+ local
-+ structure Word31 = gs_91
++ structure Word31 = gs_94
+ rand-sig.sml
+ in
-+ signature gs_132 = RAND
++ signature gs_135 = RAND
+ end
+ local
-+ structure Int32 = gs_131
++ structure Int32 = gs_134
+ structure LibBase = gs_5
-+ signature RAND = gs_132
-+ structure Real = gs_39
-+ structure Word31 = gs_91
++ signature RAND = gs_135
++ structure Real = gs_41
++ structure Word31 = gs_94
+ rand.sml
+ in
-+ structure gs_133 = Rand
++ structure gs_136 = Rand
+ end
+ local
-+ signature LIST_XPROD = gs_66
++ signature LIST_XPROD = gs_68
+ list-xprod.sml
+ in
-+ structure gs_134 = ListXProd
++ structure gs_137 = ListXProd
+ end
+in
+ structure ANSITerm = gs_23
-+ signature ARRAY_SORT = gs_119
-+ signature ATOM = gs_41
-+ structure ArrayQSort = gs_120
-+ functor ArrayQSortFn = gs_125
-+ structure Atom = gs_44
-+ structure AtomBinaryMap = gs_127
-+ structure AtomBinarySet = gs_126
-+ structure AtomMap = gs_61
-+ structure AtomRedBlackMap = gs_60
-+ structure AtomRedBlackSet = gs_57
-+ structure AtomSet = gs_58
-+ structure AtomTable = gs_70
-+ signature BIT_ARRAY = gs_55
-+ signature BIT_VECTOR = gs_74
-+ functor BSearchFn = gs_99
-+ functor BinaryMapFn = gs_85
-+ functor BinarySetFn = gs_84
-+ structure BitArray = gs_97
-+ signature CHAR_MAP = gs_64
-+ structure CharMap = gs_65
++ signature ARRAY_SORT = gs_122
++ signature ATOM = gs_43
++ structure ArrayQSort = gs_123
++ functor ArrayQSortFn = gs_128
++ structure Atom = gs_46
++ structure AtomBinaryMap = gs_130
++ structure AtomBinarySet = gs_129
++ structure AtomMap = gs_63
++ structure AtomRedBlackMap = gs_62
++ structure AtomRedBlackSet = gs_59
++ structure AtomSet = gs_60
++ structure AtomTable = gs_72
++ signature BIT_ARRAY = gs_57
++ signature BIT_VECTOR = gs_76
++ functor BSearchFn = gs_102
++ functor BinaryMapFn = gs_88
++ functor BinarySetFn = gs_87
++ structure BitArray = gs_100
++ signature CHAR_MAP = gs_66
++ structure CharMap = gs_67
+ signature DYNAMIC_ARRAY = gs_14
+ structure DynamicArray = gs_15
-+ functor DynamicArrayFn = gs_115
-+ signature FIFO = gs_105
-+ signature FORMAT = gs_45
-+ signature FORMAT_COMB = gs_102
-+ structure Fifo = gs_106
-+ structure Format = gs_48
-+ structure FormatComb = gs_103
++ functor DynamicArrayFn = gs_118
++ signature FIFO = gs_108
++ signature FORMAT = gs_47
++ signature FORMAT_COMB = gs_105
++ structure Fifo = gs_109
++ structure Format = gs_50
++ structure FormatComb = gs_106
+ signature GET_OPT = gs_31
-+ signature GRAPH_SCC = gs_67
++ signature GRAPH_SCC = gs_69
+ structure GetOpt = gs_32
-+ functor GraphSCCFn = gs_68
-+ signature HASH_KEY = gs_50
-+ signature HASH_TABLE = gs_113
-+ functor Hash2TableFn = gs_108
-+ structure HashString = gs_43
-+ structure HashTable = gs_114
-+ functor HashTableFn = gs_69
++ functor GraphSCCFn = gs_70
++ signature HASH_KEY = gs_52
++ signature HASH_TABLE = gs_116
++ functor Hash2TableFn = gs_111
++ structure HashString = gs_45
++ structure HashTable = gs_117
++ functor HashTableFn = gs_71
++ signature INTERVAL_DOMAIN = gs_33
++ signature INTERVAL_SET = gs_34
+ signature INT_INF = gs_25
+ structure IOUtil = gs_24
+ signature IO_UTIL = gs_16
+ structure IntBinaryMap = gs_10
+ structure IntBinarySet = gs_9
-+ structure IntHashTable = gs_53
++ structure IntHashTable = gs_55
+ structure IntInf = gs_17
-+ structure IntListMap = gs_80
-+ structure IntListSet = gs_79
-+ structure IntRedBlackMap = gs_118
-+ structure IntRedBlackSet = gs_117
-+ functor KeywordFn = gs_110
++ structure IntListMap = gs_83
++ structure IntListSet = gs_82
++ structure IntRedBlackMap = gs_121
++ structure IntRedBlackSet = gs_120
++ functor IntervalSetFn = gs_79
++ functor KeywordFn = gs_113
+ signature LIB_BASE = gs_4
-+ signature LIST_FORMAT = gs_71
-+ signature LIST_SORT = gs_123
-+ signature LIST_XPROD = gs_66
-+ functor LeftPriorityQFn = gs_112
++ signature LIST_FORMAT = gs_73
++ signature LIST_SORT = gs_126
++ signature LIST_XPROD = gs_68
++ functor LeftPriorityQFn = gs_115
+ structure LibBase = gs_5
-+ structure ListFormat = gs_72
++ structure ListFormat = gs_74
+ functor ListMapFn = gs_8
-+ structure ListMergeSort = gs_124
++ structure ListMergeSort = gs_127
+ functor ListSetFn = gs_6
-+ structure ListXProd = gs_134
-+ signature MONO_ARRAY_SORT = gs_116
-+ signature MONO_DYNAMIC_ARRAY = gs_100
-+ signature MONO_HASH2_TABLE = gs_76
-+ signature MONO_HASH_TABLE = gs_51
-+ signature MONO_PRIORITYQ = gs_111
-+ functor MonoArrayFn = gs_98
++ structure ListXProd = gs_137
++ signature MONO_ARRAY_SORT = gs_119
++ signature MONO_DYNAMIC_ARRAY = gs_103
++ signature MONO_HASH2_TABLE = gs_78
++ signature MONO_HASH_TABLE = gs_53
++ signature MONO_PRIORITYQ = gs_114
++ functor MonoArrayFn = gs_101
+ signature ORD_KEY = gs_1
+ signature ORD_MAP = gs_7
+ signature ORD_SET = gs_2
-+ signature PARSER_COMB = gs_33
-+ signature PATH_UTIL = gs_82
-+ signature PRIORITY = gs_49
++ signature PARSER_COMB = gs_35
++ signature PATH_UTIL = gs_85
++ signature PRIORITY = gs_51
+ signature PROP_LIST = gs_26
-+ structure ParserComb = gs_75
-+ structure PathUtil = gs_83
++ structure ParserComb = gs_77
++ structure PathUtil = gs_86
+ structure PrimeSizes = gs_11
-+ structure PropList = gs_62
-+ signature QUEUE = gs_104
-+ structure Queue = gs_107
-+ signature RAND = gs_132
-+ signature RANDOM = gs_93
-+ structure Rand = gs_133
-+ structure Random = gs_94
-+ structure RealOrderStats = gs_95
-+ functor RedBlackMapFn = gs_59
-+ functor RedBlackSetFn = gs_56
-+ signature SCAN = gs_129
++ structure PropList = gs_64
++ signature QUEUE = gs_107
++ structure Queue = gs_110
++ signature RAND = gs_135
++ signature RANDOM = gs_96
++ structure Rand = gs_136
++ structure Random = gs_97
++ structure RealOrderStats = gs_98
++ functor RedBlackMapFn = gs_61
++ functor RedBlackSetFn = gs_58
++ signature SCAN = gs_132
+ signature SPLAY_TREE = gs_18
-+ structure Scan = gs_130
-+ structure SimpleURef = gs_122
++ structure Scan = gs_133
++ structure SimpleURef = gs_125
+ functor SplayMapFn = gs_21
+ functor SplaySetFn = gs_20
+ structure SplayTree = gs_19
-+ signature UREF = gs_121
-+ structure URef = gs_128
-+ structure UnivariateStats = gs_96
-+ structure WordHashTable = gs_109
-+ structure WordRedBlackMap = gs_78
-+ structure WordRedBlackSet = gs_77
++ signature UREF = gs_124
++ structure URef = gs_131
++ structure UnivariateStats = gs_99
++ structure WordHashTable = gs_112
++ structure WordRedBlackMap = gs_81
++ structure WordRedBlackSet = gs_80
+end
+end
+
+end
diff -Naur smlnj-lib/Util/time-limit.mlb smlnj-lib-mlton/Util/time-limit.mlb
--- smlnj-lib/Util/time-limit.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/time-limit.mlb 2005-08-17 20:23:49.000000000 -0400
++++ smlnj-lib-mlton/Util/time-limit.mlb 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,16 @@
+ann
+ "nonexhaustiveMatch warn" "redundantMatch warn"
@@ -12098,7 +2883,7 @@
+end
diff -Naur smlnj-lib/Util/time-limit.mlton.sml smlnj-lib-mlton/Util/time-limit.mlton.sml
--- smlnj-lib/Util/time-limit.mlton.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/time-limit.mlton.sml 2005-08-17 20:23:49.000000000 -0400
++++ smlnj-lib-mlton/Util/time-limit.mlton.sml 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,24 @@
+(* time-limit.mlton.sml
+ *
Modified: mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.tgz
===================================================================
(Binary files differ)
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/backend.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/backend.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/backend.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -967,7 +967,7 @@
end
| R.Kind.Jump => (M.Kind.Jump, live, Vector.new0 ())
val (first, statements) =
- if !Control.profile = Control.ProfileTime
+ if !Control.profile = Control.ProfileTimeLabel
then
case (if 0 = Vector.length statements
then NONE
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/machine.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/machine.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/machine.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -884,7 +884,7 @@
vectors, ...}) =
let
val _ =
- if !Control.profile = Control.ProfileTime
+ if !Control.profile = Control.ProfileTimeLabel
then
List.foreach
(chunks, fn Chunk.T {blocks, ...} =>
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/profile.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/profile.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/profile.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -148,7 +148,9 @@
val profile = !Control.profile
val profileStack: bool = !Control.profileStack
val needProfileLabels: bool =
- profile = ProfileTime orelse profile = ProfileLabel
+ profile = ProfileTimeLabel orelse profile = ProfileLabel
+ val needCodeCoverage: bool =
+ needProfileLabels orelse (profile = ProfileTimeField)
val frameProfileIndices: (Label.t * int) list ref = ref []
val infoNodes: InfoNode.t list ref = ref []
val nameCounter = Counter.new 0
@@ -300,7 +302,7 @@
Property.getSetOnce
(Label.plist, Property.initRaise ("info", Label.layout))
val labels = ref []
- fun profileLabelIndex (sourceSeqsIndex: int): Statement.t =
+ fun profileLabelFromIndex (sourceSeqsIndex: int): Statement.t =
let
val l = ProfileLabel.new ()
val _ = List.push (labels, {label = l,
@@ -308,8 +310,25 @@
in
Statement.ProfileLabel l
end
- fun profileLabel (sourceSeq: int list): Statement.t =
- profileLabelIndex (sourceSeqIndex sourceSeq)
+ fun setCurSourceSeqsIndexFromIndex (sourceSeqsIndex: int): Statement.t =
+ let
+ val curSourceSeqsIndex =
+ Operand.Runtime Runtime.GCField.CurSourceSeqsIndex
+ in
+ Statement.Move
+ {dst = curSourceSeqsIndex,
+ src = Operand.word (WordX.fromIntInf
+ (IntInf.fromInt sourceSeqsIndex,
+ WordSize.default))}
+ end
+ fun codeCoverageStatementFromIndex (sourceSeqsIndex: int): Statement.t =
+ if needProfileLabels
+ then profileLabelFromIndex sourceSeqsIndex
+ else if profile = ProfileTimeField
+ then setCurSourceSeqsIndexFromIndex sourceSeqsIndex
+ else Error.bug "Profile.codeCoverageStatement"
+ fun codeCoverageStatement (sourceSeq: int list): Statement.t =
+ codeCoverageStatementFromIndex (sourceSeqIndex sourceSeq)
local
val {get: Func.t -> FuncInfo.t, ...} =
Property.get (Func.plist, Property.initFun (fn _ => FuncInfo.new ()))
@@ -444,22 +463,22 @@
statements: Statement.t list,
transfer: Transfer.t}: unit =
let
- val (_, npl, sourceSeq, statements) =
+ val (_, ncc, sourceSeq, statements) =
List.fold
(statements,
(leaves, true, sourceSeq, []),
- fn (s, (leaves, npl, sourceSeq, ss)) =>
+ fn (s, (leaves, ncc, sourceSeq, ss)) =>
case s of
Object _ => (leaves, true, sourceSeq, s :: ss)
| Profile ps =>
let
- val (npl, ss) =
- if needProfileLabels
+ val (ncc, ss) =
+ if needCodeCoverage
then
- if npl
+ if ncc
andalso not (List.isEmpty sourceSeq)
then (false,
- profileLabel sourceSeq :: ss)
+ codeCoverageStatement sourceSeq :: ss)
else (true, ss)
else (false, ss)
val (leaves, sourceSeq) =
@@ -478,13 +497,13 @@
InfoNode.sourcesIndex infoNode
:: sourceSeq))
in
- (leaves, npl, sourceSeq, ss)
+ (leaves, ncc, sourceSeq, ss)
end
| _ => (leaves, true, sourceSeq, s :: ss))
val statements =
- if needProfileLabels
- andalso npl
- then profileLabel sourceSeq :: statements
+ if needCodeCoverage
+ andalso ncc
+ then codeCoverageStatement sourceSeq :: statements
else statements
val {args, kind, label} =
if profileStack andalso (case kind of
@@ -499,10 +518,9 @@
addFrameProfileIndex
(newLabel, sourceSeqIndex sourceSeq)
val statements =
- if needProfileLabels
+ if needCodeCoverage
then (Vector.new1
- (profileLabelIndex
- (sourceSeqIndex sourceSeq)))
+ (codeCoverageStatement sourceSeq))
else Vector.new0 ()
val _ =
List.push
@@ -556,8 +574,8 @@
val index = sourceSeqIndex (Push.toSources pushes)
val _ = addFrameProfileIndex (newLabel, index)
val statements =
- if needProfileLabels
- then Vector.new1 (profileLabelIndex index)
+ if needCodeCoverage
+ then Vector.new1 (codeCoverageStatementFromIndex index)
else Vector.new0 ()
val _ =
List.push
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/rep-type.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/rep-type.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/rep-type.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -451,6 +451,7 @@
CanHandle => defaultWord
| CardMap => cPointer ()
| CurrentThread => cPointer ()
+ | CurSourceSeqsIndex => defaultWord
| ExnStack => defaultWord
| Frontier => cPointer ()
| Limit => cPointer ()
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -16,6 +16,7 @@
CanHandle
| CardMap
| CurrentThread
+ | CurSourceSeqsIndex
| ExnStack
| Frontier
| Limit
@@ -46,6 +47,7 @@
val canHandleOffset: Bytes.t ref = ref Bytes.zero
val cardMapOffset: Bytes.t ref = ref Bytes.zero
val currentThreadOffset: Bytes.t ref = ref Bytes.zero
+ val curSourceSeqsIndexOffset: Bytes.t ref = ref Bytes.zero
val exnStackOffset: Bytes.t ref = ref Bytes.zero
val frontierOffset: Bytes.t ref = ref Bytes.zero
val limitOffset: Bytes.t ref = ref Bytes.zero
@@ -56,12 +58,13 @@
val stackLimitOffset: Bytes.t ref = ref Bytes.zero
val stackTopOffset: Bytes.t ref = ref Bytes.zero
- fun setOffsets {canHandle, cardMap, currentThread, exnStack, frontier,
- limit, limitPlusSlop, maxFrameSize, signalIsPending,
- stackBottom, stackLimit, stackTop} =
+ fun setOffsets {canHandle, cardMap, currentThread, curSourceSeqsIndex,
+ exnStack, frontier, limit, limitPlusSlop, maxFrameSize,
+ signalIsPending, stackBottom, stackLimit, stackTop} =
(canHandleOffset := canHandle
; cardMapOffset := cardMap
; currentThreadOffset := currentThread
+ ; curSourceSeqsIndexOffset := curSourceSeqsIndex
; exnStackOffset := exnStack
; frontierOffset := frontier
; limitOffset := limit
@@ -76,6 +79,7 @@
fn CanHandle => !canHandleOffset
| CardMap => !cardMapOffset
| CurrentThread => !currentThreadOffset
+ | CurSourceSeqsIndex => !curSourceSeqsIndexOffset
| ExnStack => !exnStackOffset
| Frontier => !frontierOffset
| Limit => !limitOffset
@@ -90,6 +94,7 @@
fn CanHandle => "CanHandle"
| CardMap => "CardMap"
| CurrentThread => "CurrentThread"
+ | CurSourceSeqsIndex => "CurSourceSeqsIndex"
| ExnStack => "ExnStack"
| Frontier => "Frontier"
| Limit => "Limit"
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/backend/runtime.sig 2005-11-22 03:02:45 UTC (rev 4248)
@@ -23,6 +23,7 @@
CanHandle
| CardMap
| CurrentThread
+ | CurSourceSeqsIndex
| ExnStack
| Frontier (* The place where the next object is allocated. *)
| Limit (* frontier + heapSize - LIMIT_SLOP *)
@@ -39,6 +40,7 @@
val setOffsets: {canHandle: Bytes.t,
cardMap: Bytes.t,
currentThread: Bytes.t,
+ curSourceSeqsIndex: Bytes.t,
exnStack: Bytes.t,
frontier: Bytes.t,
limit: Bytes.t,
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/codegen/c-codegen/c-codegen.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/codegen/c-codegen/c-codegen.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/codegen/c-codegen/c-codegen.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -373,7 +373,8 @@
| Control.ProfileCount => "PROFILE_COUNT"
| Control.ProfileDrop => "PROFILE_NONE"
| Control.ProfileLabel => "PROFILE_NONE"
- | Control.ProfileTime => "PROFILE_TIME"
+ | Control.ProfileTimeField => "PROFILE_TIME_FIELD"
+ | Control.ProfileTimeLabel => "PROFILE_TIME_LABEL"
in
C.callNoSemi ("Main",
[C.int align,
@@ -690,7 +691,9 @@
print)
))
end
- val amTimeProfiling = !Control.profile = Control.ProfileTime
+ val amTimeProfiling =
+ !Control.profile = Control.ProfileTimeField
+ orelse !Control.profile = Control.ProfileTimeLabel
fun outputChunk (chunk as Chunk.T {chunkLabel, blocks, regMax, ...}) =
let
val {done, print, ...} = outputC ()
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sig 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sig 2005-11-22 03:02:45 UTC (rev 4248)
@@ -252,7 +252,8 @@
| ProfileCount
| ProfileDrop
| ProfileLabel
- | ProfileTime
+ | ProfileTimeField
+ | ProfileTimeLabel
val profile: profile ref
val profileBranch: bool ref
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sml 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/control/control-flags.sml 2005-11-22 03:02:45 UTC (rev 4248)
@@ -814,7 +814,8 @@
| ProfileCount
| ProfileDrop
| ProfileLabel
- | ProfileTime
+ | ProfileTimeField
+ | ProfileTimeLabel
val toString =
fn ProfileNone => "None"
@@ -823,7 +824,8 @@
| ProfileCount => "Count"
| ProfileDrop => "Drop"
| ProfileLabel => "Label"
- | ProfileTime => "Time"
+ | ProfileTimeField => "TimeField"
+ | ProfileTimeLabel => "TimeLabel"
end
datatype profile = datatype Profile.t
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-mlbs.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-mlbs.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/elaborate/elaborate-mlbs.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -187,6 +187,12 @@
(fileAbs, B)
end)
val B = Promise.force B
+ handle Promise.Force =>
+ (* Basis forms a cycle;
+ * force the AST to generate error message.
+ *)
+ (ignore (Promise.force basdec)
+ ; #2 (Env.makeBasis (E, fn () => ())))
in
Env.openBasis (E, B)
end
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/main/compile.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/main/compile.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/main/compile.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -454,6 +454,7 @@
canHandle = get "atomicState",
cardMap = get "generationalMaps.cardMapAbsolute",
currentThread = get "currentThread",
+ curSourceSeqsIndex = get "curSourceSeqsIndex",
exnStack = get "exnStack",
frontier = get "frontier",
limit = get "limit",
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/main/lookup-constant.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -44,6 +44,7 @@
[
"atomicState",
"currentThread",
+ "sourceMaps.curSourceSeqsIndex",
"exnStack",
"frontier",
"generationalMaps.cardMapAbsolute",
Modified: mlton/branches/on-20050822-x86_64-branch/mlton/main/main.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/main/main.fun 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/main/main.fun 2005-11-22 03:02:45 UTC (rev 4248)
@@ -62,6 +62,7 @@
val linkOpts: {opt: string, pred: OptPred.t} list ref = ref []
val output: string option ref = ref NONE
val profileSet: bool ref = ref false
+val profileTimeSet: bool ref = ref false
val runtimeArgs: string list ref = ref ["@MLton"]
val showAnns: bool ref = ref false
val stop = ref Place.OUT
@@ -350,7 +351,10 @@
| "count" => ProfileCount
| "drop" => ProfileDrop
| "label" => ProfileLabel
- | "time" => ProfileTime
+ | "time" => (profileTimeSet := true
+ ; ProfileTimeLabel)
+ | "time-field" => ProfileTimeField
+ | "time-label" => ProfileTimeLabel
| _ => usage (concat
["invalid -profile arg: ", s]))))),
(Normal, "profile-branch", " {false|true}",
@@ -535,6 +539,11 @@
Out.standard)
; let open OS.Process in exit success end)
else ()
+ val () = if !profileTimeSet
+ then (case !codegen of
+ Native => profile := ProfileTimeLabel
+ | _ => profile := ProfileTimeField)
+ else ()
val () = if !exnHistory
then (case !profile of
ProfileNone => profile := ProfileCallStack
@@ -643,7 +652,8 @@
| OpenBSD => ()
| Solaris => ()
| _ =>
- if !profile = ProfileTime
+ if !profile = ProfileTimeField
+ orelse !profile = ProfileTimeLabel
then usage (concat ["can't use -profile time on ",
MLton.Platform.OS.toString targetOS])
else ()
Modified: mlton/branches/on-20050822-x86_64-branch/package/debian/control
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/package/debian/control 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/package/debian/control 2005-11-22 03:02:45 UTC (rev 4248)
@@ -2,7 +2,7 @@
Section: devel
Priority: optional
Maintainer: Stephen Weeks <sweeks@sweeks.com>
-Build-Depends: mlton (>= 20041109-1), libgmp3-dev (>= 4.0.1), tetex-bin, tetex-extra, time
+Build-Depends: mlton (>= 20041109-1), htmldoc, libgmp3-dev (>= 4.0.1), tetex-bin, tetex-extra, time
Standards-Version: 3.6.2
Package: mlton
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/Posix/ProcEnv/setgroups.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/Posix/ProcEnv/setgroups.c 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/Posix/ProcEnv/setgroups.c 2005-11-22 03:02:45 UTC (rev 4248)
@@ -8,7 +8,6 @@
size = GC_getArrayLength (groups);
list = (gid_t*)(calloc_safe (size, sizeof(*list)));
- assert (size <= cardof(list));
for (i = 0; i < size; ++i)
list[i] = ((Word*)groups)[i];
res = setgroups (size, list);
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.c 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.c 2005-11-22 03:02:45 UTC (rev 4248)
@@ -261,9 +261,12 @@
case PROFILE_NONE:
die ("impossible PROFILE_NONE");
break;
- case PROFILE_TIME:
+ case PROFILE_TIME_FIELD:
kind = "time\n";
break;
+ case PROFILE_TIME_LABEL:
+ kind = "time\n";
+ break;
}
writeString (fd, kind);
writeString (fd, s->profiling.stack ? "stack\n" : "current\n");
@@ -315,28 +318,32 @@
void GC_handleSigProf (pointer pc) {
GC_frameIndex frameIndex;
GC_state s;
- GC_sourceSeqIndex sourceSeqIndex;
+ GC_sourceSeqIndex sourceSeqsIndex;
s = handleSigProfState;
if (DEBUG_PROFILE)
fprintf (stderr, "GC_handleSigProf ("FMTPTR")\n", (uintptr_t)pc);
if (s->amInGC)
- sourceSeqIndex = SOURCE_SEQ_GC;
+ sourceSeqsIndex = SOURCE_SEQ_GC;
else {
frameIndex = getStackTopFrameIndex (s, getStackCurrent (s));
if (C_FRAME == s->frameLayouts[frameIndex].kind)
- sourceSeqIndex = s->sourceMaps.frameSources[frameIndex];
+ sourceSeqsIndex = s->sourceMaps.frameSources[frameIndex];
else {
+ if (PROFILE_TIME_LABEL == s->profiling.kind) {
if (s->sourceMaps.textStart <= pc and pc < s->sourceMaps.textEnd)
- sourceSeqIndex = s->sourceMaps.textSources [pc - s->sourceMaps.textStart];
+ sourceSeqsIndex = s->sourceMaps.textSources [pc - s->sourceMaps.textStart];
else {
if (DEBUG_PROFILE)
fprintf (stderr, "pc out of bounds\n");
- sourceSeqIndex = SOURCE_SEQ_UNKNOWN;
+ sourceSeqsIndex = SOURCE_SEQ_UNKNOWN;
}
+ } else {
+ sourceSeqsIndex = s->sourceMaps.curSourceSeqsIndex;
+ }
}
}
- incForProfiling (s, 1, sourceSeqIndex);
+ incForProfiling (s, 1, sourceSeqsIndex);
}
static void initProfilingTime (GC_state s);
@@ -344,7 +351,11 @@
struct sigaction sa;
s->profiling.data = GC_profileMalloc (s);
- initTextSources (s);
+ if (PROFILE_TIME_LABEL == s->profiling.kind) {
+ initTextSources (s);
+ } else {
+ s->sourceMaps.curSourceSeqsIndex = SOURCE_SEQ_UNKNOWN;
+ }
/*
* Install catcher, which handles SIGPROF and calls MLton_Profile_inc.
*
@@ -404,7 +415,8 @@
break;
case PROFILE_NONE:
die ("impossible PROFILE_NONE");
- case PROFILE_TIME:
+ case PROFILE_TIME_FIELD:
+ case PROFILE_TIME_LABEL:
initProfilingTime (s);
break;
}
@@ -420,7 +432,8 @@
if (DEBUG_PROFILE)
fprintf (stderr, "GC_profileDone ()\n");
assert (s->profiling.isOn);
- if (PROFILE_TIME == s->profiling.kind)
+ if (PROFILE_TIME_FIELD == s->profiling.kind
+ or PROFILE_TIME_LABEL == s->profiling.kind)
setProfTimer (0);
s->profiling.isOn = FALSE;
p = s->profiling.data;
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.h 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/profiling.h 2005-11-22 03:02:45 UTC (rev 4248)
@@ -12,7 +12,8 @@
PROFILE_ALLOC,
PROFILE_COUNT,
PROFILE_NONE,
- PROFILE_TIME,
+ PROFILE_TIME_FIELD,
+ PROFILE_TIME_LABEL
} GC_profileKind;
/* If profileStack, then there is one struct GC_profileStack for each
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/sources.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/sources.h 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/sources.h 2005-11-22 03:02:45 UTC (rev 4248)
@@ -41,6 +41,7 @@
} *GC_sourceLabel;
struct GC_sourceMaps {
+ volatile GC_sourceSeqIndex curSourceSeqsIndex;
/* frameSources is an array of cardinality frameLayoutsLength that
* for each stack frame, gives an index into sourceSeqs of the
* sequence of source functions corresponding to the frame.
@@ -64,7 +65,7 @@
uint32_t sourcesLength;
pointer textEnd;
/* An array of indices, one entry for each address in the text
- * segment, giving and index into sourceSeqs.
+ * segment, giving an index into sourceSeqs.
*/
GC_sourceSeqIndex *textSources;
pointer textStart;
Modified: mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb-map
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb-map 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb-map 2005-11-22 03:02:45 UTC (rev 4248)
@@ -1,15 +1,24 @@
-ml-yacc-lib $(SML_LIB)/mlyacc-lib
+$basis.cm $(SML_LIB)/basis
+$basis.cm/basis.cm $(SML_LIB)/basis/basis.mlb
-smlnj-lib $(SML_LIB)/smlnj-lib/Util
-controls-lib $(SML_LIB)/smlnj-lib/Controls
-hash-cons-lib $(SML_LIB)/smlnj-lib/HashCons
-inet-lib $(SML_LIB)/smlnj-lib/INet
-unix-lib $(SML_LIB)/smlnj-lib/Unix
-pp-lib $(SML_LIB)/smlnj-lib/PP
-html-lib $(SML_LIB)/smlnj-lib/HTML
-regexp-lib $(SML_LIB)/smlnj-lib/RegExp
-reactive-lib $(SML_LIB)/smlnj-lib/Reactive
+$ml-yacc-lib.cm $(SML_LIB)/mlyacc-lib
+$ml-yacc-lib.cm/ml-yacc-lib.cm $(SML_LIB)/mlyacc-lib/mlyacc-lib.mlb
-ckit-lib $(SML_LIB)/ckit-lib/src
+$cml $(SML_LIB)/cml
+$cml/cml.cm $(SML_LIB)/cml/cml.mlb
-c $(SML_LIB)/mlnlffi-lib
+$c $(SML_LIB)/mlnlffi-lib
+$c/c.cm $(SML_LIB)/mlnlffi-lib/mlnlffi-lib.mlb
+
+$smlnj-lib.cm $(SML_LIB)/smlnj-lib/Util
+$controls-lib.cm $(SML_LIB)/smlnj-lib/Controls
+$hash-cons-lib.cm $(SML_LIB)/smlnj-lib/HashCons
+$inet-lib.cm $(SML_LIB)/smlnj-lib/INet
+$unix-lib.cm $(SML_LIB)/smlnj-lib/Unix
+$pp-lib.cm $(SML_LIB)/smlnj-lib/PP
+$html-lib.cm $(SML_LIB)/smlnj-lib/HTML
+$regexp-lib.cm $(SML_LIB)/smlnj-lib/RegExp
+$reactive-lib.cm $(SML_LIB)/smlnj-lib/Reactive
+
+$ckit-lib.cm $(SML_LIB)/ckit-lib
+$ckit-lib.cm/ckit-lib.cm $(SML_LIB)/ckit-lib/ckit-lib.mlb
Modified: mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb.sml 2005-11-21 16:53:30 UTC (rev 4247)
+++ mlton/branches/on-20050822-x86_64-branch/util/cm2mlb/cm2mlb.sml 2005-11-22 03:02:45 UTC (rev 4248)
@@ -6,7 +6,6 @@
* versions, since it depends on the CM structure.
*
* cm2mlb takes a ".cm" file and prints on stdout a corresponding ".mlb".
- * cm2mlb will look in $HOME/.mlton/cm2mlb-map.
*
* To use from the REPL, do the following:
* CM2MLB.cm2mlb {defines = ["MLton"],
@@ -59,6 +58,45 @@
end
end
+ structure AnchorMap =
+ struct
+
+ fun make (file : string) =
+ if OS.FileSys.access (file, [OS.FileSys.A_READ])
+ then
+ let
+ val lines =
+ let
+ val f = TextIO.openIn file
+ in
+ let
+ fun loop lines =
+ case TextIO.inputLine f of
+ NONE => List.rev lines
+ | SOME l => loop (l::lines)
+ in
+ loop []
+ before TextIO.closeIn f
+ end handle e => (TextIO.closeIn f; raise e)
+ end handle _ => []
+ in
+ List.mapPartial
+ (fn line =>
+ if CharVector.all Char.isSpace line
+ then NONE
+ else
+ case String.tokens Char.isSpace line of
+ [cmAnchor, mlbPath] =>
+ SOME {cmAnchor = cmAnchor, mlbPath = mlbPath}
+ | _ => die (concat ["strange cm->mlb mapping: ",
+ file, ":: ", line]))
+ lines
+ end
+ else []
+
+ val default = make "cm2mlb-map"
+ end
+
fun cm2mlb {defines, maps, out, sources} =
let
(* Define preprocessor symbols *)
@@ -78,46 +116,10 @@
val () = if dir <> "" then OS.FileSys.chDir dir else ()
local
- fun make (file : string) =
- if OS.FileSys.access (file, [OS.FileSys.A_READ])
- then
- let
- val lines =
- let
- val f = TextIO.openIn file
- in
- let
- fun loop lines =
- case TextIO.inputLine f of
- NONE => List.rev lines
- | SOME l => loop (l::lines)
- in
- loop []
- before TextIO.closeIn f
- end handle e => (TextIO.closeIn f; raise e)
- end handle _ => []
- in
- List.mapPartial
- (fn line =>
- if CharVector.all Char.isSpace line
- then NONE
- else
- case String.tokens Char.isSpace line of
- [cmAnchor, mlbPath] =>
- SOME {cmAnchor = cmAnchor, mlbPath = mlbPath}
- | _ => die (concat ["strange cm->mlb mapping: ",
- file, ":: ", line]))
- lines
- end
- else []
val anchorMap =
- (List.rev o List.concat)
- ((List.map make maps) @
- [case OS.Process.getEnv "HOME" of
- NONE => []
- | SOME path => make (concat [path, "/.mlton/cm2mlb-map"]),
- [{cmAnchor = "basis",
- mlbPath = "$(SML_LIB)/basis"}]])
+ List.concat
+ ((List.map AnchorMap.make maps) @
+ [AnchorMap.default])
fun peekAnchorMap cmAnchor' =
case List.find (fn {cmAnchor, ...} => cmAnchor = cmAnchor') anchorMap of
@@ -136,7 +138,7 @@
let
val cmLibDescr = CM.Library.descr cmLib
val cmLibOSString = CM.Library.osstring cmLib
-
+
fun mlbLibDef () =
let
val {base, ext} = OS.Path.splitBaseExt cmLibOSString
@@ -144,40 +146,36 @@
in
mlbLib
end
-
- fun doitAnchoredPath (anchor, path) =
- case peekAnchorMap anchor of
- SOME mlbPath =>
- let
- val {dir, file} = OS.Path.splitDirFile path
- val {base, ext} = OS.Path.splitBaseExt file
- val file = OS.Path.joinBaseExt {base = base, ext = SOME "mlb"}
- val path = OS.Path.joinDirFile {dir = dir, file = file}
- val mlbLib = OS.Path.joinDirFile {dir = mlbPath, file = path}
- in
- concat ["(* ", cmLibDescr, " ====> *) ", mlbLib]
- end
- | NONE =>
- concat ["(* ", cmLibDescr, " =??=> *) ", mlbLibDef ()]
+ fun doitAnchoredPath arcs =
+ let
+ fun loop (prefix, suffix) =
+ if List.null prefix
+ then concat ["(* ", cmLibDescr, " =??=> *) ", mlbLibDef ()]
+ else case peekAnchorMap (String.concatWith "/" (List.rev prefix)) of
+ SOME mlbPath =>
+ concat ["(* ", cmLibDescr, " ====> *) ", mlbPath ^ suffix]
+ | NONE =>
+ let
+ val suffix =
+ if suffix = ""
+ then OS.Path.joinBaseExt
+ {base = #base (OS.Path.splitBaseExt (List.hd prefix)),
+ ext = SOME "mlb"}
+ else (List.hd prefix) ^ suffix
+ in
+ loop (List.tl prefix, "/" ^ suffix)
+ end
+ in
+ loop (List.rev arcs, "")
+ end
+
val mlbLib =
if String.sub (cmLibDescr, 0) = #"$"
then case String.fields (fn #"/" => true | _ => false) cmLibDescr of
- ["$", abbrev] =>
- let
- val anchor = OS.Path.base abbrev
- val path = abbrev
- in
- doitAnchoredPath (anchor, path)
- end
- | anchor::path =>
- let
- val anchor = String.extract (anchor, 1, NONE)
- val path = String.concatWith "/" path
- in
- doitAnchoredPath (anchor, path)
- end
- | _ => die "strange anchored path"
+ "$" :: (arcs as (arc0 :: _)) =>
+ doitAnchoredPath (("$" ^ arc0) :: arcs)
+ | arcs => doitAnchoredPath arcs
else concat ["(* ", cmLibOSString, " ===> *) ", mlbLibDef ()]
in
concat