├── .gitignore
├── .gitmodules
├── README.md
├── case-studies
├── COPYING
├── all
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ ├── assertions
│ │ ├── AssertionSugar.sugj
│ │ └── Test.sugj
│ ├── check
│ │ ├── Naming.sugj
│ │ ├── NoSugar.sugj
│ │ └── test.sugj
│ ├── concretesyntax
│ │ ├── EditorServices.sugj
│ │ ├── Java.sugj
│ │ ├── MetaExplode.sugj
│ │ ├── MetaListVarTest.sugj
│ │ ├── Stratego.sugj
│ │ └── Test.sugj
│ ├── eblock
│ │ ├── ConcatIds.sugj
│ │ ├── EBlock.sugj
│ │ └── Test.sugj
│ ├── editor
│ │ ├── ASTBuilder.sugj
│ │ ├── Colors.sugj
│ │ ├── Editor.sugj
│ │ ├── Origin.sugj
│ │ ├── OringinTest.sugj
│ │ ├── SpellChecking.sugj
│ │ ├── test
│ │ │ ├── Sugar.sugj
│ │ │ └── Test.sugj
│ │ └── util
│ │ │ └── Strategies.sugj
│ ├── features
│ │ ├── Features.sugj
│ │ └── test
│ │ │ ├── FeatureConfig.sugj
│ │ │ ├── FeatureModel.sugj
│ │ │ └── Test.sugj
│ ├── foo
│ │ ├── EditorServiceHelper.sugj
│ │ ├── FooEditorServices.sugj
│ │ ├── FooSugar.sugj
│ │ ├── Plain.sugj
│ │ └── Test.sugj
│ ├── javaclosure
│ │ ├── Closure.sugj
│ │ ├── Syntax.sugj
│ │ ├── Test.sugj
│ │ ├── ToRefType.sugj
│ │ ├── Transformation.sugj
│ │ ├── alternative
│ │ │ ├── ArrowTest.sugj
│ │ │ └── Arrows.sugj
│ │ └── concrete
│ │ │ ├── Sugar.sugj
│ │ │ └── Test.sugj
│ ├── latex
│ │ ├── Bibtex.sugj
│ │ ├── Citations.sugj
│ │ ├── Core.sugj
│ │ ├── CoreLib.sugj
│ │ ├── Listings.sugj
│ │ ├── SpellChecking.sugj
│ │ └── math
│ │ │ ├── Core.sugj
│ │ │ └── CoreLib.sugj
│ ├── oneoone
│ │ ├── Company.java
│ │ ├── Department.java
│ │ ├── Employee.java
│ │ ├── Example.sugj
│ │ ├── Manager.java
│ │ └── Sugar.sugj
│ ├── pair
│ │ ├── Pair.sugj
│ │ ├── Sugar.sugj
│ │ ├── Test.sugj
│ │ └── concrete
│ │ │ ├── Desugar.sugj
│ │ │ ├── Syntax.sugj
│ │ │ └── Test.sugj
│ ├── regex
│ │ ├── Editor.sugj
│ │ ├── Regex.sugj
│ │ ├── RegexAsString.sugj
│ │ ├── Sugar.sugj
│ │ └── Test.sugj
│ ├── text
│ │ ├── Bibtex.sugj
│ │ ├── Latex.sugj
│ │ ├── LatexLib.sugj
│ │ └── test
│ │ │ ├── Bibtex.sugj
│ │ │ └── LatexTest.sugj
│ ├── util
│ │ └── Strategies.sugj
│ └── xml
│ │ ├── AsSax.sugj
│ │ ├── BookTest.sugj
│ │ ├── CSS.sugj
│ │ ├── CSSEditor.sugj
│ │ ├── CSSXmlEditor.sugj
│ │ ├── Checks.sugj
│ │ ├── ConcreteXml.sugj
│ │ ├── Editor.sugj
│ │ ├── PrintingHandler.sugj
│ │ ├── Sugar.sugj
│ │ ├── Test.sugj
│ │ ├── TestCSS.sugj
│ │ ├── XmlJavaSyntax.sugj
│ │ ├── XmlSyntax.sugj
│ │ ├── XmlTextTools.sugj
│ │ └── schema
│ │ ├── AsDesugaring.sugj
│ │ ├── AsEditorService.sugj
│ │ ├── AsNothing.sugj
│ │ ├── BookSchema.sugj
│ │ ├── BookSchemaTest.sugj
│ │ ├── Editor.sugj
│ │ ├── SharedStrategies.sugj
│ │ ├── Test.sugj
│ │ ├── TestSchema.sugj
│ │ ├── TestXmlSchema.sugj
│ │ ├── XmlSchema.sugj
│ │ └── XmlSchemaJavaSyntax.sugj
├── closures
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ └── src
│ │ ├── concretesyntax
│ │ ├── Java.sugj
│ │ └── MetaExplode.sugj
│ │ └── javaclosure
│ │ ├── Analysis.sugj
│ │ ├── Closure.sugj
│ │ ├── Syntax.sugj
│ │ ├── Test.sugj
│ │ ├── ToRefType.sugj
│ │ ├── Transformation.sugj
│ │ ├── alternative
│ │ ├── ArrowTest.sugj
│ │ └── Arrows.sugj
│ │ └── concrete
│ │ ├── Sugar.sugj
│ │ └── Test.sugj
├── fomega-type-annotations
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.jdt.core.prefs
│ └── src
│ │ ├── concretesyntax
│ │ ├── Fomega.sf
│ │ ├── MetaExplode.sf
│ │ ├── Metavars.sf
│ │ └── Stratego.sf
│ │ ├── contextanalysis
│ │ ├── Annotations.sf
│ │ ├── ContextAnalysis.sf
│ │ ├── Contexts.sf
│ │ ├── Editor.sf
│ │ ├── KindOperations.sf
│ │ ├── KindingRelation.sf
│ │ ├── SignatureRelation.sf
│ │ ├── Signatures.sf
│ │ ├── TypeOperations.sf
│ │ ├── TypingRelation.sf
│ │ ├── Unknowns.sf
│ │ └── rules
│ │ │ ├── Desugaring.sf
│ │ │ ├── Syntax.sf
│ │ │ └── Verification.sf
│ │ ├── extension
│ │ ├── Declaration.sf
│ │ └── TypeOf.sf
│ │ ├── extensions
│ │ ├── ADT.sf
│ │ ├── AnnotatedLet.sf
│ │ ├── CounterMonad.sf
│ │ ├── DoBlock.sf
│ │ ├── DoBlock2.sf
│ │ ├── Let.sf
│ │ └── MatchPair.sf
│ │ └── test
│ │ ├── ADT.sf
│ │ ├── AnnoTest.sf
│ │ ├── AnnotatedLet.sf
│ │ ├── CounterMonad.sf
│ │ ├── Let.sf
│ │ ├── LiftM.sf
│ │ ├── MapM.sf.bak
│ │ ├── MatchPair.sf
│ │ └── MuType.sf
├── fosd-graphPL
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ ├── fosd-graphPL test.launch
│ └── src
│ │ ├── config
│ │ ├── AllEnabledConfig.sugj
│ │ ├── FullGraphConfig.sugj
│ │ └── MinimalGraphConfig.sugj
│ │ ├── impl
│ │ ├── CycleWorkSpace.sugj
│ │ ├── Edge.sugj
│ │ ├── EdgeIfc.sugj
│ │ ├── EdgeIter.sugj
│ │ ├── FinishTimeWorkSpace.sugj
│ │ ├── GlobalVarsWrapper.sugj
│ │ ├── Graph.sugj
│ │ ├── Main.sugj
│ │ ├── Neighbor.sugj
│ │ ├── NeighborIfc.sugj
│ │ ├── NumberWorkSpace.sugj
│ │ ├── RegionWorkSpace.sugj
│ │ ├── Vertex.sugj
│ │ ├── VertexIter.sugj
│ │ ├── WorkSpace.sugj
│ │ └── WorkSpaceTranspose.sugj
│ │ ├── model
│ │ └── GraphFeatureModel.sugj
│ │ └── test
│ │ └── GraphTest.sugj
├── fosd
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.jdt.core.prefs
│ ├── features-mdd test.launch
│ └── src
│ │ ├── concretesyntax
│ │ ├── EditorServices.sugj
│ │ ├── Java.sugj
│ │ ├── MetaExplode.sugj
│ │ └── Stratego.sugj
│ │ ├── test
│ │ ├── AnotherTest.sugj
│ │ ├── FeatureConfig.sugj
│ │ ├── FeatureModel.sugj
│ │ ├── ImportTest.sugj
│ │ ├── InterfaceTest.sugj
│ │ └── Test.sugj
│ │ ├── transformation
│ │ ├── Compile.sugj
│ │ ├── Recursive.sugj
│ │ └── Renaming.sugj
│ │ └── variability
│ │ ├── CheckConfig.sugj
│ │ ├── CheckConfigAux.sugj
│ │ ├── Config.sugj
│ │ ├── ConfigTrans.sugj
│ │ ├── ConfigTransAux.sugj
│ │ ├── FeatureExpressions.sugj
│ │ ├── Java.sugj
│ │ ├── Model.sugj
│ │ └── ModelEditorServices.sugj
├── haskell
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ └── src
│ │ ├── Control
│ │ ├── Applicative
│ │ │ └── IdiomBrackets.shs
│ │ └── Arrow
│ │ │ ├── Syntax.shs
│ │ │ └── Syntax
│ │ │ ├── Alternatives.shs
│ │ │ ├── Command.shs
│ │ │ ├── Concrete.shs
│ │ │ ├── Desugar.shs
│ │ │ └── Statement.shs
│ │ ├── Data
│ │ ├── EBNF.shs
│ │ └── EBNF
│ │ │ ├── Data.shs
│ │ │ ├── MetaSyntax.shs
│ │ │ ├── Parser.shs
│ │ │ └── Syntax.shs
│ │ ├── Editor
│ │ └── CodeFolding.shs
│ │ ├── Meta
│ │ ├── Concrete
│ │ │ ├── Haskell.shs
│ │ │ ├── MetaExplode.shs
│ │ │ └── SDF.shs
│ │ ├── LayoutSugar.shs
│ │ ├── LiftToTop.shs
│ │ └── Util.shs
│ │ ├── Sugar
│ │ ├── Simple.shs
│ │ └── UndefinedBlock.shs
│ │ └── Test
│ │ ├── Applicative.shs
│ │ ├── Arrow.shs
│ │ ├── Arrow
│ │ └── Eval.shs
│ │ ├── Lambda
│ │ ├── Eval.shs
│ │ └── Syntax.shs
│ │ ├── Test.shs
│ │ ├── TestImport.shs
│ │ └── TestWithSugar.shs
├── java-pet-store
│ ├── .classpath
│ ├── .project
│ ├── ant-task
│ │ └── Pack200Task.jar
│ ├── bp-project.xml
│ ├── build.xml
│ ├── docs
│ │ ├── UseCaseDiagram1.png
│ │ ├── architecture.html
│ │ ├── architecture.jpg
│ │ ├── choices.html
│ │ ├── controller-action.jpg
│ │ ├── database.html
│ │ ├── google-maps.jpg
│ │ ├── installing.html
│ │ ├── overview.html
│ │ ├── petstore.zargo
│ │ ├── petstore_map_popup.jpg
│ │ ├── technologyfeatures.html
│ │ ├── usecases.html
│ │ └── validation.jpg
│ ├── index.html
│ ├── lib
│ │ ├── 3RD-PARTY-LICENSE.txt
│ │ ├── bp-ui-5.jar
│ │ ├── commons-fileupload-1.1.1.jar
│ │ ├── commons-io-1.2.jar
│ │ ├── commons-logging-1.1.jar
│ │ ├── javaee.jar
│ │ ├── jdom.jar
│ │ ├── lucene-core-2.0.0.jar
│ │ ├── petstoreIndexes.zip
│ │ ├── poormans-installer
│ │ │ ├── installer-builder.jar
│ │ │ ├── installer.jar
│ │ │ ├── readme.txt
│ │ │ └── sfx4j-1.0.jar
│ │ ├── rome-0.8.jar
│ │ ├── rome-fetcher-0.7.jar
│ │ ├── shale-remoting.jar
│ │ └── test
│ │ │ ├── httpunit.jar
│ │ │ ├── nekohtml.jar
│ │ │ └── xercesImpl.jar
│ ├── setup
│ │ ├── dist-bp-project.xml
│ │ ├── dist.properties
│ │ ├── dist.xml
│ │ ├── installer.xml
│ │ ├── javadb.properties
│ │ ├── manifest.mf
│ │ ├── sdk-bp-project.xml
│ │ ├── sdk-dist.properties
│ │ ├── setup.xml
│ │ └── sql
│ │ │ └── javadb
│ │ │ ├── cities.del
│ │ │ ├── delete.sql
│ │ │ └── petstore.sql
│ ├── src
│ │ ├── conf
│ │ │ └── persistence.xml
│ │ └── java
│ │ │ ├── com
│ │ │ └── sun
│ │ │ │ └── javaee
│ │ │ │ └── blueprints
│ │ │ │ └── petstore
│ │ │ │ ├── captcha
│ │ │ │ ├── BlueFilter.sugj
│ │ │ │ ├── CaptchaSingleton.sugj
│ │ │ │ ├── RandomString.sugj
│ │ │ │ └── SimpleCaptcha.sugj
│ │ │ │ ├── controller
│ │ │ │ ├── AddressBean.sugj
│ │ │ │ ├── AutocompleteBean.sugj
│ │ │ │ ├── CaptchaValidateFilter.sugj
│ │ │ │ ├── ControllerAction.sugj
│ │ │ │ ├── ControllerServlet.sugj
│ │ │ │ ├── EntryFilter.sugj
│ │ │ │ ├── FileUploadBean.sugj
│ │ │ │ └── actions
│ │ │ │ │ ├── CaptchaAction.sugj
│ │ │ │ │ ├── CatalogXmlAction.sugj
│ │ │ │ │ ├── DefaultControllerAction.sugj
│ │ │ │ │ ├── ImageAction.sugj
│ │ │ │ │ └── TagXmlAction.sugj
│ │ │ │ ├── mapviewer
│ │ │ │ └── MapBean.sugj
│ │ │ │ ├── model
│ │ │ │ ├── Address.sugj
│ │ │ │ ├── CatalogFacade.sugj
│ │ │ │ ├── Category.sugj
│ │ │ │ ├── FileUploadResponse.sugj
│ │ │ │ ├── Item.sugj
│ │ │ │ ├── PayPalBean.sugj
│ │ │ │ ├── Product.sugj
│ │ │ │ ├── RatingBean.sugj
│ │ │ │ ├── SellerContactInfo.sugj
│ │ │ │ ├── Tag.sugj
│ │ │ │ └── ZipLocation.sugj
│ │ │ │ ├── proxy
│ │ │ │ ├── GeoCoder.sugj
│ │ │ │ └── GeoPoint.sugj
│ │ │ │ ├── search
│ │ │ │ ├── HTMLParser.sugj
│ │ │ │ ├── IndexDocument.sugj
│ │ │ │ ├── Indexer.sugj
│ │ │ │ ├── SQLParser.sugj
│ │ │ │ ├── SearchBean.sugj
│ │ │ │ ├── SearchIndex.sugj
│ │ │ │ └── UpdateIndex.sugj
│ │ │ │ └── util
│ │ │ │ ├── ImageScaler.sugj
│ │ │ │ ├── LogStrings.properties
│ │ │ │ ├── MessageStrings.properties
│ │ │ │ ├── PetstoreConstants.sugj
│ │ │ │ └── PetstoreUtil.sugj
│ │ │ ├── concretesyntax
│ │ │ ├── EditorServices.sugj
│ │ │ ├── Java.sugj
│ │ │ ├── MetaExplode.sugj
│ │ │ └── Stratego.sugj
│ │ │ ├── editor
│ │ │ ├── ASTBuilder.sugj
│ │ │ ├── Colors.sugj
│ │ │ ├── Editor.sugj
│ │ │ ├── Origin.sugj
│ │ │ ├── SpellChecking.sugj
│ │ │ └── util
│ │ │ │ └── Strategies.sugj
│ │ │ ├── sugar
│ │ │ ├── Accessors.sugj
│ │ │ ├── Bnf.sugj
│ │ │ ├── JPQL.sugj
│ │ │ └── JPQLEditor.sugj
│ │ │ └── xml
│ │ │ ├── ConcreteXml.sugj
│ │ │ ├── Editor.sugj
│ │ │ ├── PrintingHandler.sugj
│ │ │ ├── Sugar.sugj
│ │ │ ├── XmlSyntax.sugj
│ │ │ ├── XmlTextTools.sugj
│ │ │ └── schema
│ │ │ ├── AsDesugaring.sugj
│ │ │ ├── AsEditorService.sugj
│ │ │ ├── CategorySchema.sugj
│ │ │ ├── Editor.sugj
│ │ │ ├── FileUploadResponseSchema.sugj
│ │ │ ├── ItemSchema.sugj
│ │ │ ├── SharedStrategies.sugj
│ │ │ ├── Syntax.sugj
│ │ │ ├── Test.sugj
│ │ │ ├── TestSchema.sugj
│ │ │ └── XmlSchema.sugj
│ ├── test
│ │ └── com
│ │ │ └── sun
│ │ │ └── javaee
│ │ │ └── blueprints
│ │ │ └── petstore
│ │ │ ├── captcha
│ │ │ ├── BlueFilterTest.java
│ │ │ ├── CaptchaSuite.java
│ │ │ ├── RandomStringTest.java
│ │ │ └── SimpleCaptchaTest.java
│ │ │ ├── httpunit
│ │ │ └── PetStoreWebBlackBoxTest.java
│ │ │ ├── search
│ │ │ └── IndexerTest.java
│ │ │ └── util
│ │ │ └── TestUtil.java
│ └── web
│ │ ├── WEB-INF
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ ├── accordion.css
│ │ ├── accordion.js
│ │ ├── banner.jsp
│ │ ├── bp_petstorelist.css
│ │ ├── bp_petstorelist.js
│ │ ├── bp_petstorelist_dom.js
│ │ ├── captchaerror.jsp
│ │ ├── catalog.js
│ │ ├── catalog.jsp
│ │ ├── common.js
│ │ ├── download.jsp
│ │ ├── engine.js
│ │ ├── fileupload.jsp
│ │ ├── fileuploadstatus.jsp
│ │ ├── footer.jsp
│ │ ├── images
│ │ ├── CIMG9081-s.jpg
│ │ ├── CIMG9081.jpg
│ │ ├── CIMG9083-s.jpg
│ │ ├── CIMG9083.jpg
│ │ ├── CIMG9084-s.jpg
│ │ ├── CIMG9084.jpg
│ │ ├── CIMG9086-s.jpg
│ │ ├── CIMG9086.jpg
│ │ ├── CIMG9088-s.jpg
│ │ ├── CIMG9088.jpg
│ │ ├── CIMG9099-s.jpg
│ │ ├── CIMG9099.jpg
│ │ ├── CIMG9100-s.jpg
│ │ ├── CIMG9100.jpg
│ │ ├── CIMG9101-s.jpg
│ │ ├── CIMG9101.jpg
│ │ ├── CIMG9102-s.jpg
│ │ ├── CIMG9102.jpg
│ │ ├── CIMG9103-s.jpg
│ │ ├── CIMG9103.jpg
│ │ ├── CIMG9104-s.jpg
│ │ ├── CIMG9104.jpg
│ │ ├── CIMG9107-s.jpg
│ │ ├── CIMG9107.jpg
│ │ ├── CIMG9109-s.jpg
│ │ ├── CIMG9109.jpg
│ │ ├── CIMG9113-s.jpg
│ │ ├── CIMG9113.jpg
│ │ ├── CIMG9115-s.jpg
│ │ ├── CIMG9115.jpg
│ │ ├── CIMG9117-s.jpg
│ │ ├── CIMG9117.jpg
│ │ ├── CIMG9118-s.jpg
│ │ ├── CIMG9118.jpg
│ │ ├── CIMG9122-s.jpg
│ │ ├── CIMG9122.jpg
│ │ ├── CIMG9123-s.jpg
│ │ ├── CIMG9123.jpg
│ │ ├── CIMG9125-s.jpg
│ │ ├── CIMG9125.jpg
│ │ ├── CIMG9127-s.jpg
│ │ ├── CIMG9127.jpg
│ │ ├── CIMG9129-s.jpg
│ │ ├── CIMG9129.jpg
│ │ ├── CIMG9134-s.jpg
│ │ ├── CIMG9134.jpg
│ │ ├── CIMG9138-s.jpg
│ │ ├── CIMG9138.jpg
│ │ ├── CIMG9142-s.jpg
│ │ ├── CIMG9142.jpg
│ │ ├── CIMG9149-s.jpg
│ │ ├── CIMG9149.jpg
│ │ ├── CIMG9154-s.jpg
│ │ ├── CIMG9154.jpg
│ │ ├── CIMG9155-s.jpg
│ │ ├── CIMG9155.jpg
│ │ ├── CIMG9156-s.jpg
│ │ ├── CIMG9156.jpg
│ │ ├── CIMG9157-s.jpg
│ │ ├── CIMG9157.jpg
│ │ ├── CIMG9158-s.jpg
│ │ ├── CIMG9158.jpg
│ │ ├── CIMG9159-s.jpg
│ │ ├── CIMG9159.jpg
│ │ ├── CIMG9162-s.jpg
│ │ ├── CIMG9162.jpg
│ │ ├── CIMG9165-s.jpg
│ │ ├── CIMG9165.jpg
│ │ ├── ad-jre.jpg
│ │ ├── ad-netbeans.jpg
│ │ ├── ad-sdk.jpg
│ │ ├── african-spurred-tortoise-thumb.jpg
│ │ ├── african-spurred-tortoise.jpg
│ │ ├── african-spurred-tortoise2-thumb.jpg
│ │ ├── african-spurred-tortoise2.jpg
│ │ ├── anthony-s.jpg
│ │ ├── anthony.jpg
│ │ ├── bailey-s.jpg
│ │ ├── bailey.jpg
│ │ ├── banner_logo.gif
│ │ ├── bird1.gif
│ │ ├── bird2.gif
│ │ ├── bird3.gif
│ │ ├── bird4.gif
│ │ ├── bird5.gif
│ │ ├── bird6.gif
│ │ ├── birds_icon.gif
│ │ ├── biscuit-s.jpg
│ │ ├── biscuit.jpg
│ │ ├── bob-s.jpg
│ │ ├── bob.jpg
│ │ ├── box-turtle-thumb.jpg
│ │ ├── box-turtle.jpg
│ │ ├── box-turtle2-thumb.jpg
│ │ ├── box-turtle2.jpg
│ │ ├── box-turtle3-thumb.jpg
│ │ ├── box-turtle3.jpg
│ │ ├── california-desert-tortoise-thumb.jpg
│ │ ├── california-desert-tortoise.jpg
│ │ ├── carp-car-med.jpg
│ │ ├── carp-car-thumb.jpg
│ │ ├── cat1.gif
│ │ ├── cat10.gif
│ │ ├── cat11.gif
│ │ ├── cat12.gif
│ │ ├── cat2.gif
│ │ ├── cat3.gif
│ │ ├── cat4.gif
│ │ ├── cat5.gif
│ │ ├── cat6.gif
│ │ ├── cat7.gif
│ │ ├── cat8.gif
│ │ ├── cat9.gif
│ │ ├── catalog-thumb-g.jpg
│ │ ├── catalog-thumb.jpg
│ │ ├── cats_icon.gif
│ │ ├── cbutton.gif
│ │ ├── chantelle-s.jpg
│ │ ├── chantelle.jpg
│ │ ├── charlie-s.jpg
│ │ ├── charlie.jpg
│ │ ├── check_all.gif
│ │ ├── cuttlefish-med.jpg
│ │ ├── cuttlefish-thumb.jpg
│ │ ├── dog1.gif
│ │ ├── dog2.gif
│ │ ├── dog3.gif
│ │ ├── dog4.gif
│ │ ├── dog5.gif
│ │ ├── dog6.gif
│ │ ├── dogs_icon.gif
│ │ ├── dragon-iron-med.jpg
│ │ ├── dragon-iron-thumb.jpg
│ │ ├── eagle-stone-med.jpg
│ │ ├── eagle-stone-thumb.jpg
│ │ ├── eclectus-female-med.jpg
│ │ ├── eclectus-female-thumb.jpg
│ │ ├── elkie-s.jpg
│ │ ├── elkie.jpg
│ │ ├── faith-s.jpg
│ │ ├── faith.jpg
│ │ ├── fish2.gif
│ │ ├── fish3.gif
│ │ ├── fish4.gif
│ │ ├── fish_icon.gif
│ │ ├── florida-king-snake-thumb.jpg
│ │ ├── florida-king-snake.jpg
│ │ ├── frog1.gif
│ │ ├── gaetano-s.jpg
│ │ ├── gaetano.jpg
│ │ ├── galah-parrot-med.jpg
│ │ ├── galah-parrot-thumb.jpg
│ │ ├── glassfish-colored-med.jpg
│ │ ├── glassfish-colored-thumb.jpg
│ │ ├── guinea-pig-thumb.jpg
│ │ ├── guinea-pig.jpg
│ │ ├── harmony-s.jpg
│ │ ├── harmony.jpg
│ │ ├── harrison-s.jpg
│ │ ├── harrison.jpg
│ │ ├── hawaiian-lizard-med.jpg
│ │ ├── hawaiian-lizard-thumb.jpg
│ │ ├── honey-s.jpg
│ │ ├── honey.jpg
│ │ ├── hunter-s.jpg
│ │ ├── hunter.jpg
│ │ ├── index-thumb-g.jpg
│ │ ├── index-thumb.jpg
│ │ ├── indicator-black.gif
│ │ ├── ja_flag.gif
│ │ ├── jack-s.jpg
│ │ ├── jack.jpg
│ │ ├── katzen-s.jpg
│ │ ├── katzen.jpg
│ │ ├── koi-med.jpg
│ │ ├── koi-thumb.jpg
│ │ ├── kookaburra-med.jpg
│ │ ├── kookaburra-thumb.jpg
│ │ ├── lady-s.jpg
│ │ ├── lady.jpg
│ │ ├── left.gif
│ │ ├── left_2.gif
│ │ ├── leopard-gecko-thumb.jpg
│ │ ├── leopard-gecko-thumb2.jpg
│ │ ├── leopard-gecko.jpg
│ │ ├── leopard-gecko2.jpg
│ │ ├── lizard1.gif
│ │ ├── lizard2.gif
│ │ ├── lizard3.gif
│ │ ├── lovebird-med.jpg
│ │ ├── lovebird-thumb.jpg
│ │ ├── macaw-thumb.jpg
│ │ ├── macaw.jpg
│ │ ├── maggie-s.jpg
│ │ ├── maggie.jpg
│ │ ├── marianna-s.jpg
│ │ ├── marianna.jpg
│ │ ├── mario-s.jpg
│ │ ├── mario.jpg
│ │ ├── maximize.gif
│ │ ├── mexican-redkneed-tarantula-thumb.jpg
│ │ ├── mexican-redkneed-tarantula.jpg
│ │ ├── mimi-s.jpg
│ │ ├── mimi.jpg
│ │ ├── minimize.gif
│ │ ├── monique-s.jpg
│ │ ├── monique.jpg
│ │ ├── moon-jelly-med.jpg
│ │ ├── moon-jelly-thumb.jpg
│ │ ├── octopus-red-med.jpg
│ │ ├── octopus-red-thumb.jpg
│ │ ├── octopus-white-med.jpg
│ │ ├── octopus-white-thumb.jpg
│ │ ├── olie-s.jpg
│ │ ├── olie.jpg
│ │ ├── paris-s.jpg
│ │ ├── paris.jpg
│ │ ├── parrot-popcorn-s.jpg
│ │ ├── parrot-popcorn.jpg
│ │ ├── peacock-blue-med.jpg
│ │ ├── peacock-blue-thumb.jpg
│ │ ├── peacock-med.jpg
│ │ ├── peacock-thumb.jpg
│ │ ├── peacock-white-thumb.jpg
│ │ ├── peakcock-white-med.jpg
│ │ ├── prehensile-tailed-skink-thumb.jpg
│ │ ├── prehensile-tailed-skink.jpg
│ │ ├── prehensile-tailed-skink2-thumb.jpg
│ │ ├── prehensile-tailed-skink2.jpg
│ │ ├── princess-s.jpg
│ │ ├── princess.jpg
│ │ ├── puppup-s.jpg
│ │ ├── puppup.jpg
│ │ ├── purple-jellyfish-med.jpg
│ │ ├── purple-jellyfish-thumb.jpg
│ │ ├── rainbow-lorikeet-med.jpg
│ │ ├── rainbow-lorikeet-thumb.jpg
│ │ ├── reptiles_icon.gif
│ │ ├── right.gif
│ │ ├── rita-s.jpg
│ │ ├── rita.jpg
│ │ ├── rockfish-med.jpg
│ │ ├── rockfish-thumb.jpg
│ │ ├── sabrina-s.jpg
│ │ ├── sabrina.jpg
│ │ ├── sea-anemone-med.jpg
│ │ ├── sea-anemone-thumb.jpg
│ │ ├── sea-nettle-jellyfish-med.jpg
│ │ ├── sea-nettle-jellyfish-thumb.jpg
│ │ ├── seller-thumb-g.jpg
│ │ ├── seller-thumb.jpg
│ │ ├── simba-s.jpg
│ │ ├── simba.jpg
│ │ ├── splash.gif
│ │ ├── spotted-jellyfish-med.jpg
│ │ ├── spotted-jellyfish-thumb.jpg
│ │ ├── thaicat-s.jpg
│ │ ├── thaicat.jpg
│ │ ├── thaidog-s.jpg
│ │ ├── thaidog.jpg
│ │ ├── uncheck_all.gif
│ │ ├── us_flag.gif
│ │ └── zh_flag.gif
│ │ ├── index.html
│ │ ├── index.jsp
│ │ ├── lookup.jsp
│ │ ├── main.htmf
│ │ ├── main.js
│ │ ├── map.jsp
│ │ ├── mapAll.jsp
│ │ ├── news.js
│ │ ├── news.jsp
│ │ ├── petstoreListTest.jsp
│ │ ├── rss.js
│ │ ├── rss.jsp
│ │ ├── rssbar.jsp
│ │ ├── rteToolBar.html
│ │ ├── scroller.css
│ │ ├── scroller.js
│ │ ├── search.jsp
│ │ ├── styles.css
│ │ ├── systemerror.jsp
│ │ ├── tag.css
│ │ ├── tag.jsp
│ │ ├── tagItemLookup.jsp
│ │ └── test
│ │ ├── fileuploadTest.jsp
│ │ ├── mapLocation.jsp
│ │ ├── persistencetestadd.jsp
│ │ ├── persistencetestindex.jsp
│ │ ├── persistencetestsearch.jsp
│ │ ├── searchIndex.jsp
│ │ ├── searchJSF.jsp
│ │ └── searchTest.jsp
├── java-server-pages
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.core.resources.prefs
│ │ └── org.eclipse.jdt.core.prefs
│ └── src
│ │ ├── concretesyntax
│ │ ├── EditorServices.sugj
│ │ ├── Java.sugj
│ │ ├── MetaExplode.sugj
│ │ └── Stratego.sugj
│ │ ├── eblock
│ │ ├── ConcatIds.sugj
│ │ ├── EBlock.sugj
│ │ └── Test.sugj
│ │ ├── editor
│ │ ├── Colors.sugj
│ │ ├── Editor.sugj
│ │ └── Origin.sugj
│ │ ├── examples
│ │ ├── HTMLExample.sugj
│ │ ├── HtmlExample2.sugj
│ │ ├── JSPExample.sugj
│ │ ├── JavascriptEx.sugj
│ │ └── SimpleJSPExample.sugj
│ │ ├── html
│ │ ├── AsSax.sugj
│ │ ├── Editor.sugj
│ │ ├── HtmlJavaSyntax.sugj
│ │ ├── HtmlSyntax.sugj
│ │ ├── Sugar.sugj
│ │ └── XmlTextTools.sugj
│ │ ├── javascript
│ │ ├── JavaScriptSyntax.sugj
│ │ └── JsSyntax.sugj
│ │ └── jsp
│ │ └── JspSyntax.sugj
├── pairs
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ └── src
│ │ ├── concretesyntax
│ │ ├── Java.sugj
│ │ └── MetaExplode.sugj
│ │ ├── pair
│ │ ├── Pair.sugj
│ │ ├── Sugar.sugj
│ │ ├── Test.sugj
│ │ └── concrete
│ │ │ ├── Desugar.sugj
│ │ │ ├── Syntax.sugj
│ │ │ └── Test.sugj
│ │ └── tuples
│ │ ├── Sugar.sugj
│ │ └── Test.sugj
├── questionnaire-language
│ ├── .classpath
│ ├── .project
│ └── src
│ │ ├── concretesyntax
│ │ ├── Java.sugj
│ │ └── MetaExplode.sugj
│ │ ├── quest
│ │ ├── Language.sugj
│ │ ├── analysis
│ │ │ ├── Determinism.sugj
│ │ │ ├── Naming.sugj
│ │ │ ├── Satisfiability.sugj
│ │ │ └── Typing.sugj
│ │ ├── lang
│ │ │ ├── Editor.sugj
│ │ │ ├── NormalizeQuestionText.sugj
│ │ │ ├── Syntax.sugj
│ │ │ ├── Transform.sugj
│ │ │ └── var
│ │ │ │ ├── Variable.sugj
│ │ │ │ ├── VariableBooleanRadioButtons.sugj
│ │ │ │ ├── VariableBooleanTextField.sugj
│ │ │ │ ├── VariableCheckBox.sugj
│ │ │ │ ├── VariableIntegerTextField.sugj
│ │ │ │ ├── VariablePanel.sugj
│ │ │ │ ├── VariableStringTextField.sugj
│ │ │ │ └── VariableTextField.sugj
│ │ └── style
│ │ │ └── Syntax.sugj
│ │ └── test
│ │ ├── HouseOwning.sugj
│ │ └── MobileSecurity.sugj
├── statemachine
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.jdt.core.prefs
│ ├── src
│ │ ├── entity
│ │ │ ├── Metamodel.sugj
│ │ │ ├── ToJava.sugj
│ │ │ └── test
│ │ │ │ ├── Account.sugj
│ │ │ │ ├── Customer.sugj
│ │ │ │ └── Test.sugj
│ │ ├── statemachine
│ │ │ ├── Metamodel.sugj
│ │ │ ├── ToJava.sugj
│ │ │ ├── ToJavaIO.sugj
│ │ │ ├── data
│ │ │ │ ├── EntityExp.sugj
│ │ │ │ ├── InternalData.sugj
│ │ │ │ ├── Metamodel.sugj
│ │ │ │ ├── ParametricEvent.sugj
│ │ │ │ ├── ToJava.sugj
│ │ │ │ ├── TransitionCondition.sugj
│ │ │ │ └── TransitionEffect.sugj
│ │ │ └── test
│ │ │ │ ├── ATM.sugj
│ │ │ │ ├── ATMRef.sugj
│ │ │ │ ├── ATMRefTest.sugj
│ │ │ │ ├── ATMRefTestRecursive.sugj
│ │ │ │ ├── ATMSimu.sugj
│ │ │ │ ├── ATMTest.sugj
│ │ │ │ ├── DataATM.sugj
│ │ │ │ ├── DataATMTest.sugj
│ │ │ │ └── TransTest.sugj
│ │ ├── template
│ │ │ ├── ConcreteSyntax.sugj
│ │ │ ├── Core.sugj
│ │ │ ├── Foreach.sugj
│ │ │ ├── IdentifierComposition.sugj
│ │ │ ├── Language.sugj
│ │ │ ├── LocalStrategies.sugj
│ │ │ ├── Requote.sugj
│ │ │ ├── Shorthands.sugj
│ │ │ ├── Unquote.sugj
│ │ │ ├── UnquoteEnum.sugj
│ │ │ ├── UnquoteSplicing.sugj
│ │ │ └── util
│ │ │ │ ├── AutoScopeRules.sugj
│ │ │ │ └── MetaExplode.sugj
│ │ └── transformation
│ │ │ ├── Recursive.sugj
│ │ │ └── Renaming.sugj
│ ├── statemachine ATM Ref Test Recursive.launch
│ ├── statemachine ATM Ref Test.launch
│ ├── statemachine ATM Simu.launch
│ ├── statemachine ATM.launch
│ ├── statemachine DataATM.launch
│ └── statemachine Entity Account.launch
├── test-circularity-mdd
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ ├── src
│ │ ├── metamodel
│ │ │ └── Java.sugj
│ │ ├── test
│ │ │ ├── D1.sugj
│ │ │ ├── D2.sugj
│ │ │ ├── D3.sugj
│ │ │ └── TestD1D2.sugj
│ │ ├── trans
│ │ │ └── CompJavaModel.sugj
│ │ └── transformation
│ │ │ ├── Recursive.sugj
│ │ │ └── Renaming.sugj
│ └── test-circularity-mdd.launch
├── test-circularity
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ └── src
│ │ └── test
│ │ ├── A.sugj
│ │ ├── B.sugj
│ │ ├── C.sugj
│ │ ├── D1.sugj
│ │ ├── D2.sugj
│ │ ├── Foo.aterm
│ │ └── Foo.sugj
├── test-completion
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.jdt.core.prefs
│ └── src
│ │ ├── completion
│ │ ├── Keyword.sugj
│ │ └── Template.sugj
│ │ └── test
│ │ └── Test.sugj
├── test-fomega-typechecker
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.jdt.core.prefs
│ ├── compile.sh
│ └── src
│ │ ├── Roadmap.txt
│ │ ├── Sample.sf
│ │ ├── TODO.txt
│ │ ├── concretesyntax
│ │ ├── Fomega.sf
│ │ ├── MetaExplode.sf
│ │ └── Stratego.sf
│ │ ├── proof-obligation
│ │ ├── Check.str
│ │ ├── Lambda.str
│ │ ├── Let.str
│ │ └── Rules.str
│ │ ├── tests
│ │ ├── check
│ │ │ ├── Case01.sf
│ │ │ ├── Case02.sf
│ │ │ ├── Module01.sf
│ │ │ ├── Module02.sf
│ │ │ ├── Module03.sf
│ │ │ ├── Module04.sf
│ │ │ ├── Module05.sf
│ │ │ ├── Module06.sf
│ │ │ ├── Module07.sf
│ │ │ ├── Records01.sf
│ │ │ ├── RecursiveTypes01.sf
│ │ │ ├── RecursiveTypes02.sf
│ │ │ ├── Template.sf
│ │ │ ├── TypeOperators01.sf
│ │ │ ├── TypeSynonym01.sf
│ │ │ └── Variant01.sf
│ │ ├── extensions
│ │ │ ├── Let.sf
│ │ │ ├── LetErrors.sf
│ │ │ └── SumComp.sf
│ │ └── rules
│ │ │ ├── SimpleErrors.sf
│ │ │ └── SimpleTypes.sf
│ │ └── typing
│ │ ├── check
│ │ ├── Context.sf
│ │ ├── ErrorHandling.sf
│ │ ├── Expr.sf
│ │ ├── MetaExplode.sf
│ │ ├── Module.sf
│ │ ├── Signature.sf
│ │ ├── Type.sf
│ │ ├── TypeChecker.sf
│ │ ├── TypeOperations.sf
│ │ └── Unknowns.sf
│ │ ├── extensions
│ │ ├── Declaration.sf
│ │ ├── countermonad
│ │ │ ├── CounterMonad.sf
│ │ │ ├── Semantics.sf
│ │ │ └── Syntax.sf
│ │ ├── let
│ │ │ ├── Let.sf
│ │ │ ├── Semantics.sf
│ │ │ └── Syntax.sf
│ │ └── sumcomprehension
│ │ │ ├── Semantics.sf
│ │ │ ├── Sumcomprehension.sf
│ │ │ ├── Support.sf
│ │ │ └── Syntax.sf
│ │ └── rules
│ │ ├── Desugaring.sf
│ │ ├── ExprTypeRules.sf
│ │ ├── Module.sf
│ │ ├── Syntax.sf
│ │ ├── TypeChecker.sf
│ │ └── Verification.sf
├── test-fomega
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ └── org.eclipse.jdt.core.prefs
│ └── src
│ │ ├── Foo.sf
│ │ ├── Test.sf
│ │ ├── concretesyntax
│ │ ├── MetaExplode.sf
│ │ └── Stratego.sf
│ │ ├── sub
│ │ ├── Bar.sf
│ │ └── subsub
│ │ │ └── Barf.sf
│ │ └── typing
│ │ ├── Check.sf
│ │ └── language
│ │ ├── FomegaRelation.sf
│ │ ├── FomegaRules.sf
│ │ ├── RelationDeclaration.sf
│ │ └── Rule.sf
├── test-type-check-first
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ └── src
│ │ └── test
│ │ ├── Check.sugj
│ │ ├── Desugar.sugj
│ │ ├── Editor.sugj
│ │ └── Subject.sugj
└── xml
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ └── org.eclipse.jdt.core.prefs
│ └── src
│ ├── concretesyntax
│ ├── EditorServices.sugj
│ ├── Java.sugj
│ ├── MetaExplode.sugj
│ └── Stratego.sugj
│ ├── eblock
│ ├── ConcatIds.sugj
│ └── EBlock.sugj
│ ├── editor
│ ├── ASTBuilder.sugj
│ ├── Colors.sugj
│ ├── Editor.sugj
│ ├── Origin.sugj
│ └── util
│ │ └── Strategies.sugj
│ └── xml
│ ├── AsSax.sugj
│ ├── BookTest.sugj
│ ├── CSS.sugj
│ ├── CSSEditor.sugj
│ ├── CSSXmlEditor.sugj
│ ├── Checks.sugj
│ ├── ConcreteXml.sugj
│ ├── Editor.sugj
│ ├── PrintingHandler.sugj
│ ├── Sugar.sugj
│ ├── Test.sugj
│ ├── TestCSS.sugj
│ ├── XmlJavaSyntax.sugj
│ ├── XmlSyntax.sugj
│ ├── XmlTextTools.sugj
│ └── schema
│ ├── AsDesugaring.sugj
│ ├── AsEditorService.sugj
│ ├── BookSchema.sugj
│ ├── BookSchemaTest.sugj
│ ├── Editor.sugj
│ ├── SharedStrategies.sugj
│ ├── Test.sugj
│ ├── TestSchema.sugj
│ ├── TestXmlSchema.sugj
│ ├── XmlSchema.sugj
│ └── XmlSchemaJavaSyntax.sugj
├── common
├── .classpath
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.jdt.ui.prefs
├── COPYING
├── META-INF
│ └── MANIFEST.MF
├── build.properties
└── src
│ └── org
│ └── sugarj
│ ├── common
│ ├── ATermCommands.java
│ ├── Activator.java
│ ├── CommandExecution.java
│ ├── Environment.java
│ ├── FileCommands.java
│ ├── FilteringIOAgent.java
│ ├── JavaCommands.java
│ ├── Log.java
│ ├── StringCommands.java
│ ├── errors
│ │ ├── SourceCodeException.java
│ │ └── SourceLocation.java
│ └── path
│ │ ├── AbsolutePath.java
│ │ ├── Path.java
│ │ └── RelativePath.java
│ └── util
│ ├── AppendableObjectOutputStream.java
│ ├── LoggingOutputStream.java
│ ├── Pair.java
│ ├── ParseTablePrinter.java
│ ├── PrintStreamWriter.java
│ └── Renaming.java
├── compiler
├── .classpath
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.jdt.ui.prefs
├── COPYING
├── MANIFEST.MF
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── commons-cli-1.2.jar
├── make_permissive.jar
└── src
│ └── org
│ └── sugarj
│ ├── driver
│ ├── Activator.java
│ ├── Driver.java
│ ├── ImportCommands.java
│ ├── IncrementalParseResult.java
│ ├── ModuleSystemCommands.java
│ ├── Result.java
│ ├── RetractableTokenizer.java
│ ├── RetractableTreeBuilder.java
│ ├── SDFCommands.java
│ ├── STRCommands.java
│ ├── SugarJContexts.java
│ ├── caching
│ │ ├── ModuleKey.java
│ │ ├── ModuleKeyCache.java
│ │ └── StrategoContextCache.java
│ ├── cli
│ │ ├── CLIError.java
│ │ ├── DriverCLI.java
│ │ └── Main.java
│ ├── declprovider
│ │ ├── SourceToplevelDeclarationProvider.java
│ │ ├── TermToplevelDeclarationProvider.java
│ │ └── ToplevelDeclarationProvider.java
│ └── transformations
│ │ ├── extraction.str
│ │ ├── extraction
│ │ ├── $A$M_2_0.java
│ │ ├── $Add$Dyn$Rule_2_0.java
│ │ ├── $Add$Label$Dyn$Rule$Id_2_0.java
│ │ ├── $Add$Scope$Label_2_0.java
│ │ ├── $All_1_0.java
│ │ ├── $Analyses_1_0.java
│ │ ├── $Anno$Cong_2_0.java
│ │ ├── $Anno$List_2_0.java
│ │ ├── $App_2_0.java
│ │ ├── $As_2_0.java
│ │ ├── $Assign_2_0.java
│ │ ├── $B$A_2_0.java
│ │ ├── $Build$Default$P$T_1_0.java
│ │ ├── $Build$Default_1_0.java
│ │ ├── $Build_1_0.java
│ │ ├── $Call$Dynamic_3_0.java
│ │ ├── $Call$No$Args_1_0.java
│ │ ├── $Call$T_3_0.java
│ │ ├── $Call_2_0.java
│ │ ├── $Char$Cong_1_0.java
│ │ ├── $Char_1_0.java
│ │ ├── $Choice_2_0.java
│ │ ├── $Cond$Choice_3_0.java
│ │ ├── $Cong$Q_2_0.java
│ │ ├── $Const$Type_1_0.java
│ │ ├── $Constructors_1_0.java
│ │ ├── $Default$Var$Dec_1_0.java
│ │ ├── $Desugarings_1_0.java
│ │ ├── $Dyn$Rule$Assign$Add_2_0.java
│ │ ├── $Dyn$Rule$Assign_2_0.java
│ │ ├── $Dyn$Rule$Id_1_0.java
│ │ ├── $Dyn$Rule$Intersect$Fix_2_0.java
│ │ ├── $Dyn$Rule$Intersect$Union$Fix_3_0.java
│ │ ├── $Dyn$Rule$Intersect$Union_4_0.java
│ │ ├── $Dyn$Rule$Intersect_3_0.java
│ │ ├── $Dyn$Rule$Scope$Id_1_0.java
│ │ ├── $Dyn$Rule$Scope_2_0.java
│ │ ├── $Dyn$Rule$Union$Fix_2_0.java
│ │ ├── $Dyn$Rule$Union_3_0.java
│ │ ├── $Empty$Tuple$Cong_0_0.java
│ │ ├── $Explode$Cong_2_0.java
│ │ ├── $Explode_2_0.java
│ │ ├── $Ext$Op$Decl$Inj_1_0.java
│ │ ├── $Ext$Op$Decl$Q_2_0.java
│ │ ├── $Ext$Op$Decl_2_0.java
│ │ ├── $Ext$S$Def$Inl_4_0.java
│ │ ├── $Ext$S$Def_3_0.java
│ │ ├── $Fail_0_0.java
│ │ ├── $Fun$Type_2_0.java
│ │ ├── $Gen$Dyn$Rules_1_0.java
│ │ ├── $Guarded$L$Choice_3_0.java
│ │ ├── $Id_0_0.java
│ │ ├── $If$Then_2_0.java
│ │ ├── $Import$Term_1_0.java
│ │ ├── $Import$Wildcard_1_0.java
│ │ ├── $Import_1_0.java
│ │ ├── $Imports_1_0.java
│ │ ├── $Inject$Desugaring_4_0.java
│ │ ├── $Int$Cong_1_0.java
│ │ ├── $Int_1_0.java
│ │ ├── $L$Choice_2_0.java
│ │ ├── $L$Rule_1_0.java
│ │ ├── $Labeled$Dyn$Rule$Id_2_0.java
│ │ ├── $Labeled$Dyn$Rule$Scope$Id_2_0.java
│ │ ├── $Let_2_0.java
│ │ ├── $List$Cong$No$Tail_1_0.java
│ │ ├── $List$Cong_2_0.java
│ │ ├── $List$Tail_2_0.java
│ │ ├── $List$Var_1_0.java
│ │ ├── $List_1_0.java
│ │ ├── $Match_1_0.java
│ │ ├── $Module_2_0.java
│ │ ├── $No$Anno$List_1_0.java
│ │ ├── $Not_1_0.java
│ │ ├── $One_1_0.java
│ │ ├── $Op$Decl$Inj_1_0.java
│ │ ├── $Op$Decl$Q_2_0.java
│ │ ├── $Op$Decl_2_0.java
│ │ ├── $Op$Q_2_0.java
│ │ ├── $Op_2_0.java
│ │ ├── $Overlay$No$Args_2_0.java
│ │ ├── $Overlay_3_0.java
│ │ ├── $Overlays_1_0.java
│ │ ├── $Paren$Strat_1_0.java
│ │ ├── $Prim$No$Args_1_0.java
│ │ ├── $Prim$T_3_0.java
│ │ ├── $Prim_2_0.java
│ │ ├── $Pure$Desugaring_1_0.java
│ │ ├── $R$Choice_2_0.java
│ │ ├── $R$Dec$No$Args_1_0.java
│ │ ├── $R$Dec$T_3_0.java
│ │ ├── $R$Dec_2_0.java
│ │ ├── $R$Def$No$Args_2_0.java
│ │ ├── $R$Def$T_4_0.java
│ │ ├── $R$Def_3_0.java
│ │ ├── $Real$Cong_1_0.java
│ │ ├── $Real_1_0.java
│ │ ├── $Rec_2_0.java
│ │ ├── $Root$App_1_0.java
│ │ ├── $Rule$Names_1_0.java
│ │ ├── $Rule$No$Cond_2_0.java
│ │ ├── $Rule_3_0.java
│ │ ├── $Rules_1_0.java
│ │ ├── $S$Def$No$Args_2_0.java
│ │ ├── $S$Def$T_4_0.java
│ │ ├── $S$Def_3_0.java
│ │ ├── $S$Rule_1_0.java
│ │ ├── $S$Var_1_0.java
│ │ ├── $Scope$Default_1_0.java
│ │ ├── $Scope$Labels_1_0.java
│ │ ├── $Scope_2_0.java
│ │ ├── $Seq_2_0.java
│ │ ├── $Set$Dyn$Rule$Depends_3_0.java
│ │ ├── $Set$Dyn$Rule$Match_2_0.java
│ │ ├── $Set$Dyn$Rule_2_0.java
│ │ ├── $Signature_1_0.java
│ │ ├── $Sort$List$Tl_2_0.java
│ │ ├── $Sort$List_1_0.java
│ │ ├── $Sort$No$Args_1_0.java
│ │ ├── $Sort$Tuple_1_0.java
│ │ ├── $Sort$Var_1_0.java
│ │ ├── $Sort_2_0.java
│ │ ├── $Sorts_1_0.java
│ │ ├── $Specification_1_0.java
│ │ ├── $Str$Cong_1_0.java
│ │ ├── $Str_1_0.java
│ │ ├── $Strategies_1_0.java
│ │ ├── $Strategy$Curly_1_0.java
│ │ ├── $Switch$Case_2_0.java
│ │ ├── $Switch$Choice$No$Otherwise_2_0.java
│ │ ├── $Switch$Choice_3_0.java
│ │ ├── $Test_1_0.java
│ │ ├── $Trans$App_2_0.java
│ │ ├── $Transformation$Def_2_0.java
│ │ ├── $Tuple$Cong_2_0.java
│ │ ├── $Tuple_1_0.java
│ │ ├── $Undefine$Dyn$Rule_2_0.java
│ │ ├── $Var$Dec_2_0.java
│ │ ├── $Var_1_0.java
│ │ ├── $Where$Clause_1_0.java
│ │ ├── $Where_1_0.java
│ │ ├── $With$Clause_1_0.java
│ │ ├── $With_1_0.java
│ │ ├── $Wld_0_0.java
│ │ ├── InteropRegisterer.java
│ │ ├── Main.java
│ │ ├── absent_0_0.java
│ │ ├── accept_editor_0_0.java
│ │ ├── accept_sdf_0_0.java
│ │ ├── accept_str_0_0.java
│ │ ├── alias_2_0.java
│ │ ├── aliases_1_0.java
│ │ ├── alt_2_0.java
│ │ ├── annotated_2_0.java
│ │ ├── appl_2_0.java
│ │ ├── assoc_0_0.java
│ │ ├── assoc_1_0.java
│ │ ├── assoc_3_0.java
│ │ ├── assoc_group_2_0.java
│ │ ├── attrs_1_0.java
│ │ ├── avoid_0_0.java
│ │ ├── bot_0_0.java
│ │ ├── bracket_0_0.java
│ │ ├── cf_1_0.java
│ │ ├── chain_1_0.java
│ │ ├── char_class_1_0.java
│ │ ├── children_0_0.java
│ │ ├── ci_lit_1_0.java
│ │ ├── comp_1_0.java
│ │ ├── comp_desugaring_to_sdf_0_0.java
│ │ ├── comp_desugaring_to_str_0_0.java
│ │ ├── comp_desugarings_to_sdf_0_0.java
│ │ ├── comp_desugarings_to_str_0_0.java
│ │ ├── conc_2_0.java
│ │ ├── conc_grammars_2_0.java
│ │ ├── context_free_priorities_1_0.java
│ │ ├── context_free_restrictions_1_0.java
│ │ ├── context_free_start_symbols_1_0.java
│ │ ├── context_free_syntax_1_0.java
│ │ ├── default_1_0.java
│ │ ├── definition_1_0.java
│ │ ├── diff_2_0.java
│ │ ├── editor_elem_1_0.java
│ │ ├── empty_0_0.java
│ │ ├── empty_grammar_0_0.java
│ │ ├── eof_0_0.java
│ │ ├── exports_1_0.java
│ │ ├── ext_out.java
│ │ ├── extract_1_0.java
│ │ ├── extract_editor_0_0.java
│ │ ├── extract_sdf_0_0.java
│ │ ├── extract_str_0_0.java
│ │ ├── extraction.java
│ │ ├── file_start_0_0.java
│ │ ├── filter_children_1_0.java
│ │ ├── filter_tree_1_0.java
│ │ ├── fold_conc_grammars_0_0.java
│ │ ├── follow_2_0.java
│ │ ├── fun_1_0.java
│ │ ├── func_2_0.java
│ │ ├── grammar_elem_1_0.java
│ │ ├── hiddens_1_0.java
│ │ ├── id_1_0.java
│ │ ├── imp_section_1_0.java
│ │ ├── imports_1_0.java
│ │ ├── int_1_0.java
│ │ ├── isect_2_0.java
│ │ ├── iter_1_0.java
│ │ ├── iter_sep_2_0.java
│ │ ├── iter_star_1_0.java
│ │ ├── iter_star_sep_2_0.java
│ │ ├── kernel_start_symbols_1_0.java
│ │ ├── label_2_0.java
│ │ ├── label__start_0_0.java
│ │ ├── layout_0_0.java
│ │ ├── left_0_0.java
│ │ ├── lex_1_0.java
│ │ ├── lexical_priorities_1_0.java
│ │ ├── lexical_restrictions_1_0.java
│ │ ├── lexical_start_symbols_1_0.java
│ │ ├── lexical_syntax_1_0.java
│ │ ├── lexical_variables_1_0.java
│ │ ├── lifted0.java
│ │ ├── lifted1.java
│ │ ├── lifted12.java
│ │ ├── lifted13.java
│ │ ├── lifted3.java
│ │ ├── lifted4.java
│ │ ├── lifted5.java
│ │ ├── lifted8.java
│ │ ├── lifted9.java
│ │ ├── lifting_1_0.java
│ │ ├── lit_1_0.java
│ │ ├── main$E$D$I$T$O$R_0_0.java
│ │ ├── main$S$T$R_0_0.java
│ │ ├── main_sdf_0_0.java
│ │ ├── module_1_0.java
│ │ ├── module_3_0.java
│ │ ├── natural_1_0.java
│ │ ├── negative_1_0.java
│ │ ├── no_attrs_0_0.java
│ │ ├── non_assoc_0_0.java
│ │ ├── non_transitive_1_0.java
│ │ ├── numeric_1_0.java
│ │ ├── opt_1_0.java
│ │ ├── parameterized_2_0.java
│ │ ├── parameterized_sort_2_0.java
│ │ ├── placeholder_1_0.java
│ │ ├── positive_1_0.java
│ │ ├── prefer_0_0.java
│ │ ├── prefix_fun_4_0.java
│ │ ├── present_1_0.java
│ │ ├── priorities_1_0.java
│ │ ├── prod_3_0.java
│ │ ├── prods_group_1_0.java
│ │ ├── production_2_0.java
│ │ ├── quoted_1_0.java
│ │ ├── quoted_fun_1_0.java
│ │ ├── range_2_0.java
│ │ ├── real_1_0.java
│ │ ├── real_con_3_0.java
│ │ ├── reject_0_0.java
│ │ ├── renamed_module_2_0.java
│ │ ├── renamings_1_0.java
│ │ ├── restrictions_1_0.java
│ │ ├── right_0_0.java
│ │ ├── seq_2_0.java
│ │ ├── short_1_0.java
│ │ ├── simple_charclass_1_0.java
│ │ ├── simple_group_1_0.java
│ │ ├── single_1_0.java
│ │ ├── singleton_0_0.java
│ │ ├── sort_1_0.java
│ │ ├── sorts_1_0.java
│ │ ├── start_0_0.java
│ │ ├── strategy_2_0.java
│ │ ├── symbol_2_0.java
│ │ ├── syntax_1_0.java
│ │ ├── term_1_0.java
│ │ ├── top_0_0.java
│ │ ├── transformation_elem_1_0.java
│ │ ├── tuple_2_0.java
│ │ ├── union_2_0.java
│ │ ├── unparameterized_1_0.java
│ │ ├── unquoted_1_0.java
│ │ ├── unquoted_fun_1_0.java
│ │ ├── variables_1_0.java
│ │ ├── varsym_1_0.java
│ │ └── with_arguments_2_0.java
│ │ ├── primitive
│ │ ├── ATermToString.java
│ │ ├── CompileTransformed.java
│ │ ├── CurrentImports.java
│ │ ├── CurrentModule.java
│ │ ├── CurrentPackage.java
│ │ ├── CurrentRenamings.java
│ │ ├── ResolveModel.java
│ │ ├── SugarJPrimitiveContext.java
│ │ ├── SugarJPrimitivesLibrary.java
│ │ └── WriteTransformed.java
│ │ └── renaming
│ │ ├── $A$M_2_0.java
│ │ ├── $Add$Dyn$Rule_2_0.java
│ │ ├── $Add$Label$Dyn$Rule$Id_2_0.java
│ │ ├── $Add$Scope$Label_2_0.java
│ │ ├── $All_1_0.java
│ │ ├── $Anno$Cong_2_0.java
│ │ ├── $Anno$List_2_0.java
│ │ ├── $App_2_0.java
│ │ ├── $As_2_0.java
│ │ ├── $Assign_2_0.java
│ │ ├── $B$A_2_0.java
│ │ ├── $Build$Default$P$T_1_0.java
│ │ ├── $Build$Default_1_0.java
│ │ ├── $Build_1_0.java
│ │ ├── $Call$Dynamic_3_0.java
│ │ ├── $Call$No$Args_1_0.java
│ │ ├── $Call$T_3_0.java
│ │ ├── $Call_2_0.java
│ │ ├── $Char$Cong_1_0.java
│ │ ├── $Char_1_0.java
│ │ ├── $Choice_2_0.java
│ │ ├── $Cond$Choice_3_0.java
│ │ ├── $Cong$Q_2_0.java
│ │ ├── $Const$Type_1_0.java
│ │ ├── $Constructors_1_0.java
│ │ ├── $Default$Var$Dec_1_0.java
│ │ ├── $Dyn$Rule$Assign$Add_2_0.java
│ │ ├── $Dyn$Rule$Assign_2_0.java
│ │ ├── $Dyn$Rule$Id_1_0.java
│ │ ├── $Dyn$Rule$Intersect$Fix_2_0.java
│ │ ├── $Dyn$Rule$Intersect$Union$Fix_3_0.java
│ │ ├── $Dyn$Rule$Intersect$Union_4_0.java
│ │ ├── $Dyn$Rule$Intersect_3_0.java
│ │ ├── $Dyn$Rule$Scope$Id_1_0.java
│ │ ├── $Dyn$Rule$Scope_2_0.java
│ │ ├── $Dyn$Rule$Union$Fix_2_0.java
│ │ ├── $Dyn$Rule$Union_3_0.java
│ │ ├── $Empty$Tuple$Cong_0_0.java
│ │ ├── $Explode$Cong_2_0.java
│ │ ├── $Explode_2_0.java
│ │ ├── $Ext$Op$Decl$Inj_1_0.java
│ │ ├── $Ext$Op$Decl$Q_2_0.java
│ │ ├── $Ext$Op$Decl_2_0.java
│ │ ├── $Ext$S$Def$Inl_4_0.java
│ │ ├── $Ext$S$Def_3_0.java
│ │ ├── $Fail_0_0.java
│ │ ├── $Fun$Type_2_0.java
│ │ ├── $Gen$Dyn$Rules_1_0.java
│ │ ├── $Guarded$L$Choice_3_0.java
│ │ ├── $Id_0_0.java
│ │ ├── $If$Then_2_0.java
│ │ ├── $Import$Term_1_0.java
│ │ ├── $Import$Wildcard_1_0.java
│ │ ├── $Import_1_0.java
│ │ ├── $Imports_1_0.java
│ │ ├── $Int$Cong_1_0.java
│ │ ├── $Int_1_0.java
│ │ ├── $L$Choice_2_0.java
│ │ ├── $L$Rule_1_0.java
│ │ ├── $Labeled$Dyn$Rule$Id_2_0.java
│ │ ├── $Labeled$Dyn$Rule$Scope$Id_2_0.java
│ │ ├── $Let_2_0.java
│ │ ├── $List$Cong$No$Tail_1_0.java
│ │ ├── $List$Cong_2_0.java
│ │ ├── $List$Tail_2_0.java
│ │ ├── $List$Var_1_0.java
│ │ ├── $List_1_0.java
│ │ ├── $Match_1_0.java
│ │ ├── $Module_2_0.java
│ │ ├── $No$Anno$List_1_0.java
│ │ ├── $Not_1_0.java
│ │ ├── $One_1_0.java
│ │ ├── $Op$Decl$Inj_1_0.java
│ │ ├── $Op$Decl$Q_2_0.java
│ │ ├── $Op$Decl_2_0.java
│ │ ├── $Op$Q_2_0.java
│ │ ├── $Op_2_0.java
│ │ ├── $Overlay$No$Args_2_0.java
│ │ ├── $Overlay_3_0.java
│ │ ├── $Overlays_1_0.java
│ │ ├── $Paren$Strat_1_0.java
│ │ ├── $Prim$No$Args_1_0.java
│ │ ├── $Prim$T_3_0.java
│ │ ├── $Prim_2_0.java
│ │ ├── $R$Choice_2_0.java
│ │ ├── $R$Dec$No$Args_1_0.java
│ │ ├── $R$Dec$T_3_0.java
│ │ ├── $R$Dec_2_0.java
│ │ ├── $R$Def$No$Args_2_0.java
│ │ ├── $R$Def$T_4_0.java
│ │ ├── $R$Def_3_0.java
│ │ ├── $Real$Cong_1_0.java
│ │ ├── $Real_1_0.java
│ │ ├── $Rec_2_0.java
│ │ ├── $Root$App_1_0.java
│ │ ├── $Rule$Names_1_0.java
│ │ ├── $Rule$No$Cond_2_0.java
│ │ ├── $Rule_3_0.java
│ │ ├── $Rules_1_0.java
│ │ ├── $S$Def$No$Args_2_0.java
│ │ ├── $S$Def$T_4_0.java
│ │ ├── $S$Def_3_0.java
│ │ ├── $S$Rule_1_0.java
│ │ ├── $S$Var_1_0.java
│ │ ├── $Scope$Default_1_0.java
│ │ ├── $Scope$Labels_1_0.java
│ │ ├── $Scope_2_0.java
│ │ ├── $Seq_2_0.java
│ │ ├── $Set$Dyn$Rule$Depends_3_0.java
│ │ ├── $Set$Dyn$Rule$Match_2_0.java
│ │ ├── $Set$Dyn$Rule_2_0.java
│ │ ├── $Signature_1_0.java
│ │ ├── $Sort$List$Tl_2_0.java
│ │ ├── $Sort$List_1_0.java
│ │ ├── $Sort$No$Args_1_0.java
│ │ ├── $Sort$Tuple_1_0.java
│ │ ├── $Sort$Var_1_0.java
│ │ ├── $Sort_2_0.java
│ │ ├── $Sorts_1_0.java
│ │ ├── $Specification_1_0.java
│ │ ├── $Str$Cong_1_0.java
│ │ ├── $Str_1_0.java
│ │ ├── $Strategies_1_0.java
│ │ ├── $Strategy$Curly_1_0.java
│ │ ├── $Switch$Case_2_0.java
│ │ ├── $Switch$Choice$No$Otherwise_2_0.java
│ │ ├── $Switch$Choice_3_0.java
│ │ ├── $Test_1_0.java
│ │ ├── $Tuple$Cong_2_0.java
│ │ ├── $Tuple_1_0.java
│ │ ├── $Undefine$Dyn$Rule_2_0.java
│ │ ├── $Var$Dec_2_0.java
│ │ ├── $Var_1_0.java
│ │ ├── $Where$Clause_1_0.java
│ │ ├── $Where_1_0.java
│ │ ├── $With$Clause_1_0.java
│ │ ├── $With_1_0.java
│ │ ├── $Wld_0_0.java
│ │ ├── InteropRegisterer.java
│ │ ├── Main.java
│ │ ├── apply_renamings_0_0.java
│ │ ├── apply_renamings_0_1.java
│ │ ├── lifted0.java
│ │ ├── lifted2.java
│ │ ├── lifted3.java
│ │ ├── lifted4.java
│ │ ├── lifted5.java
│ │ ├── lifted6.java
│ │ ├── out.java
│ │ ├── rename_decl_0_1.java
│ │ ├── rename_rule_0_2.java
│ │ ├── rename_rules_0_2.java
│ │ └── renaming.java
│ └── util
│ └── ProcessingListener.java
├── deployment
├── build-all.xml
├── cli-scripts
│ ├── .gitignore
│ ├── cabal
│ │ ├── Launch.hs
│ │ ├── Setup.hs
│ │ ├── SugarHaskell.hs
│ │ ├── SugarJ.hs
│ │ └── sugarhaskell.cabal
│ ├── jars
│ │ ├── org.eclipse.core.jobs_3.5.200.v20120521-2346.jar
│ │ ├── org.eclipse.core.resources_3.8.0.v20120522-2034.jar
│ │ ├── org.eclipse.core.runtime_3.8.0.v20120521-2346.jar
│ │ ├── org.eclipse.debug.core_3.7.100.v20120521-2012.jar
│ │ ├── org.eclipse.equinox.common_3.6.100.v20120522-1841.jar
│ │ ├── org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar
│ │ ├── org.eclipse.jdt.core_3.8.1.v20120531-0637.jar
│ │ ├── org.eclipse.jface_3.8.0.v20120521-2329.jar
│ │ ├── org.eclipse.osgi_3.8.0.v20120529-1548.jar
│ │ ├── org.eclipse.swt.cocoa.macosx.x86_64_3.100.0.v4233d.jar
│ │ ├── org.eclipse.ui.workbench_3.103.0.v20120530-1824.jar
│ │ ├── org.strategoxt.imp.debug.core_0.1.1.201202141159.jar
│ │ └── org.strategoxt.imp.runtime_0.1.1.201202141159.jar
│ ├── native
│ │ ├── META-INF
│ │ │ ├── MANIFEST.MF
│ │ │ └── maven
│ │ │ │ └── spoofax
│ │ │ │ └── org.strategoxt.imp.nativebundle
│ │ │ │ ├── pom.properties
│ │ │ │ └── pom.xml
│ │ ├── native
│ │ │ ├── cygwin
│ │ │ │ ├── cygwin1.dll
│ │ │ │ ├── implodePT.exe
│ │ │ │ └── sdf2table.exe
│ │ │ ├── linux
│ │ │ │ ├── implodePT
│ │ │ │ └── sdf2table
│ │ │ └── macosx
│ │ │ │ ├── implodePT
│ │ │ │ └── sdf2table
│ │ └── org
│ │ │ └── strategoxt
│ │ │ └── imp
│ │ │ └── nativebundle
│ │ │ ├── Activator.class
│ │ │ └── SDFBundleCommand.class
│ ├── strategoxt.jar
│ ├── sugarj-dev
│ ├── sugarj
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── bin
│ │ │ ├── sugarj
│ │ │ ├── sugarj.bat
│ │ │ ├── sugh
│ │ │ ├── sugh.bat
│ │ │ ├── sugj
│ │ │ └── sugj.bat
│ │ └── lib
│ └── u
│ │ ├── classpath
│ │ ├── extract.ruby
│ │ ├── make_sugarhaskell_cabal.ruby
│ │ ├── make_sugarj_zip.ruby
│ │ └── make_util.ruby
├── feature-base
│ ├── .project
│ ├── build-feature.xml
│ ├── build.properties
│ └── feature.xml
├── feature-fomega
│ ├── .project
│ ├── build.properties
│ └── feature.xml
├── feature-haskell
│ ├── .project
│ ├── build-feature.xml
│ ├── build.properties
│ └── feature.xml
├── feature-java
│ ├── .project
│ ├── build-feature.xml
│ ├── build.properties
│ └── feature.xml
├── feature-javascript
│ ├── .project
│ ├── build-feature.xml
│ ├── build.properties
│ └── feature.xml
├── feature-prolog
│ ├── .project
│ ├── build-feature.xml
│ ├── build.properties
│ └── feature.xml
└── update-site
│ ├── .project
│ ├── category.xml
│ ├── copy-to-server.sh
│ ├── images
│ ├── bg_hr.png
│ ├── blacktocat.png
│ ├── eclipse.png
│ ├── icon_download.png
│ └── sprite_download.png
│ ├── index.html
│ ├── site.xml
│ └── stylesheets
│ ├── pygment_trac.css
│ └── stylesheet.css
├── editor
├── .classpath
├── .externalToolBuilders
│ └── SugarJ build.main.xml.launch
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.jdt.ui.prefs
├── COPYING
├── META-INF
│ └── MANIFEST.MF
├── build.generated.xml
├── build.main.xml
├── build.properties
├── editor
│ ├── SugarJ-Builders.esv
│ ├── SugarJ-Colorer.esv
│ ├── SugarJ-Completions.esv
│ ├── SugarJ-Folding.esv
│ ├── SugarJ-Outliner.esv
│ ├── SugarJ-Outliner.generated.str
│ ├── SugarJ-Outliner.str
│ ├── SugarJ-References.esv
│ ├── SugarJ-Syntax.esv
│ ├── SugarJ.main.esv
│ └── java
│ │ └── org
│ │ └── sugarj
│ │ ├── builder
│ │ ├── Builder.java
│ │ └── MarkingProcessingListener.java
│ │ └── editor
│ │ ├── Activator.java
│ │ ├── SugarJActivator.java
│ │ ├── SugarJConsole.java
│ │ ├── SugarJDescriptor.java
│ │ ├── SugarJOnSaveService.java
│ │ ├── SugarJParseController.java
│ │ ├── SugarJParseControllerGenerated.java
│ │ ├── SugarJParser.java
│ │ ├── SugarJValidator.java
│ │ ├── strategies
│ │ ├── InteropRegisterer.java
│ │ ├── Main.java
│ │ └── java_strategy_0_0.java
│ │ └── wizard
│ │ └── SugarJNewWizard.java
├── icons
│ └── wizard.gif
├── lib-refactoring
│ ├── analysis-multifile.generated.str
│ ├── behavior-preservation.generated.str
│ ├── binding-violations.generated.str
│ ├── correctness-preservation.generated.str
│ ├── data-flow-analysis.generated.str
│ ├── extract-refactoring.generated.str
│ ├── fetch-positions.generated.str
│ ├── files.generated.str
│ ├── list-operations.generated.str
│ ├── namebinding-preservation.generated.str
│ └── rename-refactoring.generated.str
├── lib
│ ├── Java-15.def
│ ├── Sdf2.def
│ ├── Stratego.def
│ ├── analysis-auto.generated.str
│ ├── analysis-library-internal.generated.str
│ ├── analysis-library.generated.str
│ ├── compilation-library.generated.str
│ ├── editor-common.generated.str
│ ├── index-library.generated.str
│ ├── nbl-library.generated.str
│ ├── refactor-common.generated.str
│ └── runtime
│ │ ├── analysis
│ │ ├── complete.str
│ │ ├── core.str
│ │ ├── debug.str
│ │ ├── defaults.str
│ │ ├── multiple.str
│ │ ├── reanalysis.str
│ │ ├── resolve.str
│ │ └── single.str
│ │ ├── editor
│ │ ├── editor.str
│ │ ├── interop.str
│ │ ├── origins.str
│ │ ├── outline-library.str
│ │ ├── positions.str
│ │ └── queue.str
│ │ ├── index
│ │ ├── core.str
│ │ ├── globals.str
│ │ ├── legacy.str
│ │ ├── partition.str
│ │ ├── query.str
│ │ └── utils.str
│ │ ├── nbl
│ │ ├── check.str
│ │ ├── collect.str
│ │ ├── complete.str
│ │ ├── entries.str
│ │ ├── incremental.str
│ │ ├── interface.str
│ │ ├── lookup.str
│ │ ├── namegen.str
│ │ ├── query.str
│ │ ├── resolve.str
│ │ ├── tasks.str
│ │ ├── uri.str
│ │ └── utils.str
│ │ ├── task
│ │ ├── core.str
│ │ ├── debug.str
│ │ ├── interface.str
│ │ ├── messages.str
│ │ ├── tasks.str
│ │ └── utils.str
│ │ ├── tmpl
│ │ └── pp.str
│ │ └── types
│ │ ├── collect.str
│ │ ├── interface.str
│ │ └── tasks.str
├── plugin.xml
├── syntax
│ ├── SugarJ.pp
│ └── SugarJ.sdf
└── trans
│ ├── check.str
│ ├── generate.str
│ ├── prettyprint.str
│ ├── refactorings.str
│ └── sugarj.str
├── language-libraries
├── base
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ ├── COPYING
│ ├── META-INF
│ │ └── MANIFEST.MF
│ ├── build.properties
│ ├── plugin.xml
│ ├── schema
│ │ └── org.sugarj.language.exsd
│ └── src
│ │ └── org
│ │ └── sugarj
│ │ ├── AbstractBaseLanguage.java
│ │ ├── AbstractBaseProcessor.java
│ │ ├── BaseLanguageRegistry.java
│ │ ├── IBaseLanguage.java
│ │ ├── IBaseProcessor.java
│ │ └── baselang
│ │ └── Activator.java
├── fomega
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ ├── COPYING
│ ├── COPYING.LESSER
│ ├── META-INF
│ │ └── MANIFEST.MF
│ ├── build.properties
│ ├── plugin.xml
│ └── src
│ │ └── org
│ │ └── sugarj
│ │ ├── FomegaLanguage.java
│ │ ├── FomegaProcessor.java
│ │ ├── fomega
│ │ ├── Activator.java
│ │ ├── initEditor.serv
│ │ ├── initGrammar.sdf
│ │ └── initTrans.str
│ │ └── languages
│ │ ├── Fomega.def
│ │ ├── Fomega.pp
│ │ ├── Fomega.str
│ │ ├── SugarFomega.def
│ │ └── SugarFomega.str
├── haskell
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ ├── COPYING
│ ├── COPYING.LESSER
│ ├── META-INF
│ │ └── MANIFEST.MF
│ ├── build.properties
│ ├── plugin.xml
│ └── src
│ │ └── org
│ │ └── sugarj
│ │ ├── HaskellLanguage.java
│ │ ├── HaskellProcessor.java
│ │ ├── haskell
│ │ ├── Activator.java
│ │ ├── initEditor.serv
│ │ ├── initGrammar.sdf
│ │ └── initTrans.str
│ │ └── languages
│ │ ├── Haskell-orig.def
│ │ ├── Haskell.def
│ │ ├── Haskell.pp
│ │ ├── Haskell.str
│ │ ├── SugarHaskell.def
│ │ └── SugarHaskell.str
├── java
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ │ ├── org.eclipse.jdt.core.prefs
│ │ └── org.eclipse.jdt.ui.prefs
│ ├── COPYING
│ ├── COPYING.LESSER
│ ├── META-INF
│ │ └── MANIFEST.MF
│ ├── build.properties
│ ├── plugin.xml
│ └── src
│ │ └── org
│ │ └── sugarj
│ │ ├── JavaLanguage.java
│ │ ├── JavaProcessor.java
│ │ ├── java
│ │ ├── Activator.java
│ │ ├── EditorServiceExtension.str
│ │ ├── Renaming.str
│ │ └── init
│ │ │ ├── InitTrans.str
│ │ │ ├── initEditor.serv
│ │ │ └── initGrammar.sdf
│ │ └── languages
│ │ ├── Java-15-orig.def
│ │ ├── Java-15.def
│ │ ├── Java.str
│ │ ├── SugarJ.def
│ │ └── SugarJ.str
└── prolog
│ ├── .classpath
│ ├── .project
│ ├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.jdt.ui.prefs
│ ├── COPYING
│ ├── COPYING.LESSER
│ ├── META-INF
│ └── MANIFEST.MF
│ ├── build.properties
│ ├── plugin.xml
│ └── src
│ └── org
│ └── sugarj
│ ├── PrologLanguage.java
│ ├── PrologProcessor.java
│ ├── languages
│ ├── Prolog.def
│ ├── Prolog.pp
│ ├── Prolog.str
│ ├── SugarProlog.def
│ └── SugarProlog.str
│ └── prolog
│ ├── Activator.java
│ └── init
│ ├── InitTrans.str
│ ├── initEditor.serv
│ └── initGrammar.sdf
├── stdlib
├── .classpath
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.jdt.ui.prefs
├── COPYING
├── COPYING.LESSER
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── build.sh
├── failure-trans.jar
└── org
│ └── sugarj
│ ├── languages
│ ├── EditorServices.def
│ ├── EditorServices.str
│ ├── EditorServices.tbl
│ ├── Model.def
│ ├── Model.str
│ ├── Plain.def
│ ├── Plain.str
│ ├── Sdf2-orig.def
│ ├── Sdf2.def
│ ├── Sdf2.str
│ ├── Sdf2.tbl
│ ├── Stratego.def
│ ├── Stratego.str
│ ├── Stratego.sugj
│ ├── Stratego.tbl
│ ├── Sugar.def
│ └── Sugar.str
│ ├── stdlib
│ ├── Activator.java
│ ├── Common.def
│ ├── StdEditor.serv
│ ├── StdLib.java
│ └── StdTrans.str
│ └── transformations
│ ├── ATerm.str
│ ├── Analyze.str
│ ├── GenerateSignatures.str
│ ├── LayoutSugar.str
│ └── Renaming.str
└── test-workspace
└── java-pet-store
└── src
└── java
└── xml
└── schema
└── FileUploadResponseSchema.sugj
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/.gitmodules
--------------------------------------------------------------------------------
/case-studies/all/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/all/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.sugarj.case-studies
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/all/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | formatter_profile=_Eclipse with spaces only
3 | formatter_settings_version=12
4 |
--------------------------------------------------------------------------------
/case-studies/all/check/Naming.sugj:
--------------------------------------------------------------------------------
1 | package check;
2 |
3 | import org.sugarj.languages.Java;
4 | import util.Strategies;
5 |
6 | public checks Naming {
7 | warnings
8 | ClassDecHead(mods, Id(name), params, super, interfaces) =
9 | [(name, "class name should start with upper-case character")]
10 | where name
11 | }
--------------------------------------------------------------------------------
/case-studies/all/check/NoSugar.sugj:
--------------------------------------------------------------------------------
1 | package check;
2 |
3 | public checks NoSugar {
4 | errors
5 | s@SugarDec(_, _) =
6 | [(s, "Sugar declarations not allowed.")]
7 | }
--------------------------------------------------------------------------------
/case-studies/all/check/test.sugj:
--------------------------------------------------------------------------------
1 | package check;
2 |
3 | import check.Naming;
4 |
5 | public class test {
6 | }
--------------------------------------------------------------------------------
/case-studies/all/concretesyntax/MetaListVarTest.sugj:
--------------------------------------------------------------------------------
1 | package concretesyntax;
2 |
3 | import concretesyntax.Java;
4 |
5 | public sugar MetaListVarTest {
6 |
7 | rules
8 | foo1 : java |[ {java_bstm*} ]| -> ""
9 | foo2 : java |[ {~bstm*:bstm*} ]| -> ""
10 | foo3 : java |[ {~bstm:bstms} ]| -> ""
11 | }
--------------------------------------------------------------------------------
/case-studies/all/eblock/Test.sugj:
--------------------------------------------------------------------------------
1 | package eblock;
2 |
3 | import eblock.EBlock;
4 |
5 | public class Test {
6 | public static void main(String[] args) {
7 | int i = 0;
8 |
9 | System.out.println(i);
10 | System.out.println( {| i = i+1; | i | i = i-1; |} );
11 | System.out.println(i);
12 | }
13 | }
--------------------------------------------------------------------------------
/case-studies/all/editor/ASTBuilder.sugj:
--------------------------------------------------------------------------------
1 | package editor;
2 |
3 | import editor.util.Strategies;
4 |
5 | public editor services ASTBuilder {
6 | builders
7 | builder : "generate AST" = generate-ast (openeditor) (realtime)
8 | }
--------------------------------------------------------------------------------
/case-studies/all/editor/OringinTest.sugj:
--------------------------------------------------------------------------------
1 | package editor;
2 |
3 | import editor.Origin;
4 |
5 | public sugar OriginTest {
6 | context-free syntax
7 | "abc" "def" JavaID -> ToplevelDeclaration {cons("Text")}
8 |
9 | desugarings
10 | rule
11 |
12 | rules
13 | rule :
14 | t@Text(s) -> t
15 | }
16 |
17 | abc def A
18 |
--------------------------------------------------------------------------------
/case-studies/all/editor/util/Strategies.sugj:
--------------------------------------------------------------------------------
1 | package editor.util;
2 |
3 | public sugar Strategies {
4 | rules
5 | generate-ast :
6 | (selected, position, ast, path, project-path) ->
7 | (filename, result)
8 | with
9 | filename := path;
10 | result := selected
11 |
12 | }
--------------------------------------------------------------------------------
/case-studies/all/features/test/FeatureConfig.sugj:
--------------------------------------------------------------------------------
1 | package features.test;
2 |
3 | import features.Features;
4 | import features.test.FeatureModel;
5 |
6 | config FeatureConfig for FeatureModel {
7 | enable A, B;
8 | }
9 |
--------------------------------------------------------------------------------
/case-studies/all/features/test/FeatureModel.sugj:
--------------------------------------------------------------------------------
1 | package features.test;
2 |
3 | import features.Features;
4 |
5 | featuremodel FeatureModel {
6 | feature A;
7 | feature B implies A;
8 | }
9 |
--------------------------------------------------------------------------------
/case-studies/all/features/test/Test.sugj:
--------------------------------------------------------------------------------
1 | package features.test;
2 |
3 | import features.Features;
4 |
5 | import features.test.FeatureModel;
6 | import features.test.FeatureConfig;
7 |
8 |
9 | #feature(A)
10 | class Test {
11 | #feature(B)
12 | void foo(){
13 | foo();
14 | #feature(B){
15 | bar();
16 | }
17 | }
18 |
19 | void bar(){}
20 | }
21 |
22 | #feature(!A)
23 | class Test {
24 | }
25 |
--------------------------------------------------------------------------------
/case-studies/all/foo/EditorServiceHelper.sugj:
--------------------------------------------------------------------------------
1 | package foo;
2 |
3 | public editor services EditorServiceHelper {
4 | colorer
5 | RED = 255 0 0 bold
6 | GREEN = 0 255 0 bold
7 | BLUE = 0 0 255 italic
8 | }
--------------------------------------------------------------------------------
/case-studies/all/foo/Plain.sugj:
--------------------------------------------------------------------------------
1 | package foo;
2 |
3 | import org.sugarj.languages.Plain;
4 |
5 | public plain File {
6 | abc def \\ \ \n
7 | asdas
8 | as
9 | 3
10 | - --da s//
11 | asdas
12 | }
--------------------------------------------------------------------------------
/case-studies/all/foo/Test.sugj:
--------------------------------------------------------------------------------
1 | package foo;
2 |
3 | import foo.FooSugar;
4 | import foo.FooEditorServices;
5 |
6 | public class Test {
7 | TYPE v = nil;
8 | String x = nil;
9 | String y = null;
10 | }
11 |
--------------------------------------------------------------------------------
/case-studies/all/javaclosure/Closure.sugj:
--------------------------------------------------------------------------------
1 | package javaclosure;
2 | public interface Closure
3 | {
4 | public Res invoke(Arg arg);
5 | }
6 |
--------------------------------------------------------------------------------
/case-studies/all/latex/CoreLib.sugj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/all/latex/CoreLib.sugj
--------------------------------------------------------------------------------
/case-studies/all/latex/SpellChecking.sugj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/all/latex/SpellChecking.sugj
--------------------------------------------------------------------------------
/case-studies/all/latex/math/CoreLib.sugj:
--------------------------------------------------------------------------------
1 | package latex.math;
2 |
3 | public sugar CoreLib {
4 | lexical syntax
5 | "\\to" -> NullaryMathCommand
6 | "\\dag" -> NullaryMathCommand
7 | }
8 |
9 | public editor services CoreLib {
10 | completions
11 | completion template : LatexMathContentPart = "\to"
12 | completion template : LatexMathContentPart = "\dag"
13 |
14 | }
--------------------------------------------------------------------------------
/case-studies/all/oneoone/Company.java:
--------------------------------------------------------------------------------
1 | package oneoone;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * @author Sebastian Erdweg
7 | */
8 | public class Company {
9 | public List departments;
10 |
11 | public Company(List departments) {
12 | this.departments = departments;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/case-studies/all/oneoone/Employee.java:
--------------------------------------------------------------------------------
1 | package oneoone;
2 |
3 | /**
4 | * @author Sebastian Erdweg
5 | */
6 | public class Employee {
7 | public String name;
8 | public String address;
9 | public int salaray;
10 |
11 | public Employee(String name, String address, int salaray) {
12 | this.name = name;
13 | this.address = address;
14 | this.salaray = salaray;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/case-studies/all/oneoone/Manager.java:
--------------------------------------------------------------------------------
1 | package oneoone;
2 |
3 | /**
4 | * @author Sebastian Erdweg
5 | */
6 | public class Manager extends Employee {
7 | public Manager(String name, String address, int salaray) {
8 | super(name, address, salaray);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/case-studies/all/pair/Pair.sugj:
--------------------------------------------------------------------------------
1 | package pair;
2 |
3 | public class Pair {
4 | public A a;
5 | public B b;
6 |
7 | public Pair (A a, B b) {
8 | this.a = a;
9 | this.b = b;
10 | }
11 |
12 | public static Pair create(A a, B b) {
13 | return new Pair(a, b);
14 | }
15 |
16 | public String toString() {
17 | return "(" + a.toString() + ", " + b.toString() + ")";
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/case-studies/all/pair/Test.sugj:
--------------------------------------------------------------------------------
1 | package pair;
2 |
3 | import pair.Sugar;
4 |
5 | public class Test {
6 | private (String, Integer) p = ("12", 34);
7 | }
8 |
9 |
10 |
--------------------------------------------------------------------------------
/case-studies/all/pair/concrete/Desugar.sugj:
--------------------------------------------------------------------------------
1 | package pair.concrete;
2 |
3 | import concretesyntax.Java;
4 |
5 | import pair.concrete.Syntax;
6 |
7 | public sugar Desugar {
8 | desugarings
9 | pair2expr
10 | pair2type
11 |
12 | rules
13 | pair2expr :
14 | |[ (~expr:e1, ~expr:e2) ]|
15 | ->
16 | |[ pair.Pair.create(~e1, ~e2) ]|
17 |
18 | pair2type :
19 | |[ (~type:t1, ~type:t2) ]|
20 | ->
21 | |[ pair.Pair<~t1, ~t2> ]|
22 | }
--------------------------------------------------------------------------------
/case-studies/all/pair/concrete/Syntax.sugj:
--------------------------------------------------------------------------------
1 | package pair.concrete;
2 |
3 | import org.sugarj.languages.Java;
4 |
5 | public sugar Syntax {
6 | context-free syntax
7 | "(" JavaExpr "," JavaExpr ")" ->
8 | JavaExpr {cons("PExpr")}
9 |
10 | "(" JavaType "," JavaType ")" ->
11 | JavaType {cons("PType")}
12 | }
--------------------------------------------------------------------------------
/case-studies/all/pair/concrete/Test.sugj:
--------------------------------------------------------------------------------
1 | package pair.concrete;
2 |
3 | import pair.concrete.Syntax;
4 | import pair.concrete.Desugar;
5 |
6 | public class Test {
7 | private static (String, Integer) p = ("12", 34);
8 |
9 | public static void main(String[] args) {
10 | System.out.println(p);
11 | }
12 | }
--------------------------------------------------------------------------------
/case-studies/all/regex/Sugar.sugj:
--------------------------------------------------------------------------------
1 | package regex;
2 |
3 | import regex.Regex;
4 | import regex.RegexAsString;
5 |
6 | public sugar Sugar {
7 | }
--------------------------------------------------------------------------------
/case-studies/all/regex/Test.sugj:
--------------------------------------------------------------------------------
1 | package regex;
2 |
3 | import regex.Regex;
4 | import regex.RegexAsString;
5 | import regex.Editor;
6 |
7 | public class Test {
8 | public static void main(String[] args) {
9 | boolean b = args[0].matches(/Sugar\S[A-Z]*/);
10 |
11 | System.out.println(b);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/case-studies/all/xml/CSSXmlEditor.sugj:
--------------------------------------------------------------------------------
1 | package xml;
2 |
3 | import editor.Colors;
4 |
5 | import xml.CSS;
6 |
7 | public css CSSXmlEditor {
8 | Element { folding; outlining }
9 | ElemName { rec-color : blue }
10 | AttrName { rec-color : darkorange }
11 | AttValue { rec-color : darkred }
12 | CharData { rec-color : black }
13 | }
--------------------------------------------------------------------------------
/case-studies/all/xml/Checks.sugj:
--------------------------------------------------------------------------------
1 | package xml;
2 |
3 | import xml.XmlSyntax;
4 |
5 | public checks Checks {
6 | errors
7 | Element(lname, attrs, content, rname) =
8 | [(lname, "element start and end tag need to coincide"),
9 | (rname, "element start and end tag need to coincide")]
10 | where (lname, rname)
11 | }
12 |
--------------------------------------------------------------------------------
/case-studies/all/xml/Editor.sugj:
--------------------------------------------------------------------------------
1 | package xml;
2 |
3 | import editor.Colors;
4 | import editor.Editor;
5 | import xml.XmlSyntax;
6 |
7 | public editor services Editor {
8 | colorer
9 | ElemName : blue (recursive)
10 | AttrName : darkorange (recursive)
11 | AttValue : darkred (recursive)
12 | CharData : black (recursive)
13 |
14 | folding
15 | Element
16 |
17 | outliner
18 | Element
19 | }
--------------------------------------------------------------------------------
/case-studies/all/xml/Sugar.sugj:
--------------------------------------------------------------------------------
1 | package xml;
2 |
3 | import xml.XmlJavaSyntax;
4 | import xml.Checks;
5 | import xml.AsSax;
6 |
7 | public sugar Sugar {
8 | }
--------------------------------------------------------------------------------
/case-studies/all/xml/schema/AsNothing.sugj:
--------------------------------------------------------------------------------
1 | package xml.schema;
2 |
3 | import xml.schema.XmlSchemaJavaSyntax;
4 |
5 | public sugar AsNothing {
6 | desugarings
7 | \ XsdExtensionDec(head, body) -> ExtensionDec(head, body) \
8 | \ XsdExtensionDecHead(mods, name) -> ExtensionDecHead(mods, name, None) \
9 | \ XsdExtensionBody(xml) -> ExtensionBody([]) \
10 | }
--------------------------------------------------------------------------------
/case-studies/all/xml/schema/Editor.sugj:
--------------------------------------------------------------------------------
1 | package xml.schema;
2 |
3 | import xml.Editor;
4 | import xml.schema.XmlSchemaJavaSyntax;
5 |
6 | public editor services Editor {
7 | outliner
8 | XsdSugarDec
9 |
10 | folding
11 | XsdSugarDec
12 | }
--------------------------------------------------------------------------------
/case-studies/closures/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/closures/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | closures
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/closures/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | formatter_profile=_Eclipse with spaces only
3 | formatter_settings_version=12
4 |
--------------------------------------------------------------------------------
/case-studies/closures/src/javaclosure/Closure.sugj:
--------------------------------------------------------------------------------
1 | package javaclosure;
2 | public interface Closure
3 | {
4 | public Res invoke(Arg arg);
5 | }
6 |
--------------------------------------------------------------------------------
/case-studies/fomega-type-annotations/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/fomega-type-annotations/src/test/AnnotatedLet.sf:
--------------------------------------------------------------------------------
1 | module test.AnnotatedLet
2 |
3 | import extensions.AnnotatedLet
4 |
5 | import contextanalysis.ContextAnalysis
6 |
7 |
8 | val x = let a:Nat = 1 in a
9 |
10 | val y = let a: Nat->Nat = \x:Nat. x in a x
11 |
--------------------------------------------------------------------------------
/case-studies/fomega-type-annotations/src/test/Let.sf:
--------------------------------------------------------------------------------
1 | module test.Let
2 |
3 | import extensions.Let
4 |
5 | import contextanalysis.ContextAnalysis
6 |
7 |
8 | val x = let a = 1 in a
9 |
10 | val y = let a = \x:Nat. x in a x
11 |
--------------------------------------------------------------------------------
/case-studies/fomega-type-annotations/src/test/MatchPair.sf:
--------------------------------------------------------------------------------
1 | module test.MatchPair
2 |
3 | import extensions.MatchPair
4 |
5 | import contextanalysis.ContextAnalysis
6 |
7 | val x = match (a,b) = {fst=1, snd="x"} in {a=true, b=b}
8 |
--------------------------------------------------------------------------------
/case-studies/fosd-graphPL/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/case-studies/fosd-graphPL/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | graph
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/fosd-graphPL/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | formatter_profile=_Eclipse with spaces only
3 | formatter_settings_version=12
4 |
--------------------------------------------------------------------------------
/case-studies/fosd-graphPL/src/impl/EdgeIter.sugj:
--------------------------------------------------------------------------------
1 | package impl;
2 |
3 | import variability.Java;
4 |
5 | import impl.EdgeIfc;
6 |
7 | public variable class EdgeIter {
8 | public boolean hasNext(){
9 | return false;
10 | }
11 | public EdgeIfc next(){
12 | return null;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/case-studies/fosd-graphPL/src/impl/GlobalVarsWrapper.sugj:
--------------------------------------------------------------------------------
1 | package impl;
2 |
3 | import variability.Java;
4 | import java.util.LinkedList;
5 |
6 | import impl.Vertex;
7 |
8 |
9 | #ifdef(Bfs)
10 | public variable class GlobalVarsWrapper {
11 | public static LinkedList queue=new LinkedList();
12 | }
13 |
--------------------------------------------------------------------------------
/case-studies/fosd-graphPL/src/impl/NeighborIfc.sugj:
--------------------------------------------------------------------------------
1 | package impl;
2 |
3 | public interface NeighborIfc {
4 | }
5 |
--------------------------------------------------------------------------------
/case-studies/fosd-graphPL/src/test/GraphTest.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import variability.ConfigTrans(config.MinimalGraphConfig)(impl.Main);
4 | import Other = variability.ConfigTrans(config.FullGraphConfig)(impl.Main);
5 |
6 |
7 | public class GraphTest {
8 | public static void main(String[] args) {
9 | String[] l_args = {"Graph.txt"};
10 | Main.main(l_args);
11 | Other.main(l_args);
12 | }
13 | }
--------------------------------------------------------------------------------
/case-studies/fosd/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/fosd/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | features-mdd
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/fosd/src/test/AnotherTest.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import variability.Java;
4 |
5 | #ifdef(F)
6 | public variable class AnotherTest {
7 |
8 | #ifdef(A)
9 | public int someInt;
10 | }
--------------------------------------------------------------------------------
/case-studies/fosd/src/test/FeatureConfig.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import variability.Config;
4 |
5 | import variability.CheckConfig(test.FeatureModel);
6 |
7 | public config FeatureConfig for FeatureModel {
8 | enable A;
9 | disable B;
10 | enable C;
11 | enable E;
12 | disable F;
13 | disable INTERFACE;
14 | }
15 |
--------------------------------------------------------------------------------
/case-studies/fosd/src/test/FeatureModel.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import variability.Model;
4 |
5 | featuremodel FeatureModel {
6 | features A, B, C, D, E, F, INTERFACE
7 |
8 | constraint B -> A
9 | constraint C -> D
10 | constraint E xor F
11 | }
--------------------------------------------------------------------------------
/case-studies/fosd/src/test/ImportTest.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import variability.ConfigTrans(test.FeatureConfig)(test.Test);
4 | import variability.ConfigTrans(test.FeatureConfig)(test.InterfaceTest);
5 |
6 | public class ImportTest implements InterfaceTest {
7 |
8 | public static void main(String[] args) {
9 | Test t = new Test();
10 | t.foo(12);
11 | }
12 |
13 | public void doSomething() {
14 | System.out.println("something.");
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/case-studies/fosd/src/test/InterfaceTest.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import variability.Java;
4 |
5 | #ifdef(INTERFACE)
6 | public variable interface InterfaceTest {
7 |
8 | #ifdef(A)
9 | public void doSomething();
10 |
11 | #ifdef(B)
12 | public void doSomethingElse();
13 | }
--------------------------------------------------------------------------------
/case-studies/fosd/src/transformation/Compile.sugj:
--------------------------------------------------------------------------------
1 | package transformation;
2 |
3 | public transformation Compile {
4 | rules
5 | compile-after(trans) =
6 | ?(model, model-path, trans-path);
7 | !model;
8 | trans;
9 | sugarj-compile(|model-path, trans-path)
10 |
11 | sugarj-compile(|model-path, trans-path) =
12 | prim("SUGARJ_compile", model-path, trans-path)
13 | }
--------------------------------------------------------------------------------
/case-studies/haskell/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/case-studies/haskell/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | haskell
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/haskell/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | formatter_profile=_Eclipse with spaces only
3 | formatter_settings_version=12
4 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Control/Arrow/Syntax.shs:
--------------------------------------------------------------------------------
1 | module Control.Arrow.Syntax where
2 |
3 | import Control.Arrow.Syntax.Command
4 | import Control.Arrow.Syntax.Desugar
5 |
6 | syntax
7 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Data/EBNF.shs:
--------------------------------------------------------------------------------
1 | module Data.EBNF where
2 |
3 | import Data.EBNF.Syntax
4 | import Data.EBNF.Data
5 | import Data.EBNF.Parser
6 | import Data.EBNF.MetaSyntax
7 |
8 | syntax
9 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Editor/CodeFolding.shs:
--------------------------------------------------------------------------------
1 | module Editor.CodeFolding where
2 | {-
3 | folding
4 | _.Do
5 | -}
6 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Meta/Concrete/SDF.shs:
--------------------------------------------------------------------------------
1 | module Meta.Concrete.SDF where
2 |
3 | import org.sugarj.languages.Sdf2
4 | import org.sugarj.languages.Stratego
5 |
6 | import Meta.Concrete.MetaExplode
7 |
8 | context-free syntax
9 | "|[" Sdf2Production "]|" -> StrategoTerm {cons("ToMetaExpr")}
10 |
11 | "$" StrategoTerm -> Sdf2Symbol {cons("FromMetaExpr")}
12 | "$*" StrategoTerm -> Sdf2Symbols {cons("FromMetaExpr")}
13 | "$" StrategoTerm -> Sdf2ATerm {cons("FromMetaExpr")}
14 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Meta/Util.shs:
--------------------------------------------------------------------------------
1 | module Meta.Util where
2 |
3 | rules
4 | foldl(c|n) : [] -> n
5 | foldl(c|n) : [x|xs] -> (n, x))> xs
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Sugar/Simple.shs:
--------------------------------------------------------------------------------
1 | module Sugar.Simple where
2 |
3 | import org.sugarj.languages.Haskell
4 |
5 | context-free syntax
6 | "simple" "example" -> HaskellTopdecl {cons("Simple")}
7 |
8 | desugarings
9 | desugar-simple
10 |
11 | rules
12 | desugar-simple :
13 | Simple() ->
14 | Valdef(Var("simple"), Lit(Int("17")), Where(DeclList(Empty())))
--------------------------------------------------------------------------------
/case-studies/haskell/src/Test/Test.shs:
--------------------------------------------------------------------------------
1 | module Test.Test where
2 |
3 | process =
4 | do inp <- readInput
5 | ok <- case inp of
6 | Just txt ->
7 | do putStrLn "thank you"
8 | sendToServer txt
9 | return True
10 | Nothing ->
11 | return False
12 | logResult ok
13 |
14 | readInput = undefined
15 | sendToServer = undefined
16 | logResult res = undefined
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Test/TestImport.shs:
--------------------------------------------------------------------------------
1 | module Test.TestImport where
2 |
3 | import Test.Test
4 |
5 | foo = process
6 |
--------------------------------------------------------------------------------
/case-studies/haskell/src/Test/TestWithSugar.shs:
--------------------------------------------------------------------------------
1 | module Test.TestWithSugar where
2 |
3 | import Sugar.UndefinedBlock
4 |
5 | process =
6 | do inp <- readInput
7 | case inp of
8 | Just txt ->
9 | do putStrLn "thank you"
10 | sendToServer txt
11 | return True
12 | Nothing ->
13 | return False
14 |
15 | undefined
16 | readInput
17 | sendToServer
18 |
--------------------------------------------------------------------------------
/case-studies/java-pet-store/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | java-pet-store
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/java-pet-store/ant-task/Pack200Task.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/ant-task/Pack200Task.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/docs/UseCaseDiagram1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/docs/UseCaseDiagram1.png
--------------------------------------------------------------------------------
/case-studies/java-pet-store/docs/architecture.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/docs/architecture.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/docs/controller-action.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/docs/controller-action.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/docs/google-maps.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/docs/google-maps.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/docs/petstore.zargo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/docs/petstore.zargo
--------------------------------------------------------------------------------
/case-studies/java-pet-store/docs/petstore_map_popup.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/docs/petstore_map_popup.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/docs/validation.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/docs/validation.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/bp-ui-5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/bp-ui-5.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/commons-fileupload-1.1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/commons-fileupload-1.1.1.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/commons-io-1.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/commons-io-1.2.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/commons-logging-1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/commons-logging-1.1.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/javaee.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/javaee.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/jdom.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/jdom.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/lucene-core-2.0.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/lucene-core-2.0.0.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/petstoreIndexes.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/petstoreIndexes.zip
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/poormans-installer/installer-builder.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/poormans-installer/installer-builder.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/poormans-installer/installer.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/poormans-installer/installer.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/poormans-installer/sfx4j-1.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/poormans-installer/sfx4j-1.0.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/rome-0.8.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/rome-0.8.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/rome-fetcher-0.7.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/rome-fetcher-0.7.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/shale-remoting.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/shale-remoting.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/test/httpunit.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/test/httpunit.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/test/nekohtml.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/test/nekohtml.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/lib/test/xercesImpl.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/lib/test/xercesImpl.jar
--------------------------------------------------------------------------------
/case-studies/java-pet-store/setup/manifest.mf:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Main-Class: petstore
--------------------------------------------------------------------------------
/case-studies/java-pet-store/setup/sdk-dist.properties:
--------------------------------------------------------------------------------
1 | # directory containing the product release
2 | release.dirname=petstore
3 |
4 | # zipfile for the product release
5 | release.zipfile=dist/${release.dirname}.zip
6 |
--------------------------------------------------------------------------------
/case-studies/java-pet-store/setup/sql/javadb/delete.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE tag_item;
2 | DROP TABLE item;
3 | DROP TABLE product;
4 | DROP TABLE category;
5 | DROP TABLE Address;
6 | DROP TABLE SellerContactInfo;
7 | DROP TABLE id_gen;
8 | DROP TABLE ziplocation;
9 | DROP TABLE tag;
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/case-studies/java-pet-store/src/java/editor/ASTBuilder.sugj:
--------------------------------------------------------------------------------
1 | package editor;
2 |
3 | import editor.util.Strategies;
4 |
5 | public editor services ASTBuilder {
6 | builders
7 | builder : "generate AST" = generate-ast (openeditor) (realtime)
8 | }
--------------------------------------------------------------------------------
/case-studies/java-pet-store/src/java/editor/util/Strategies.sugj:
--------------------------------------------------------------------------------
1 | package editor.util;
2 |
3 | public sugar Strategies {
4 | rules
5 | generate-ast :
6 | (selected, position, ast, path, project-path) ->
7 | (filename, result)
8 | with
9 | filename := path;
10 | result := selected
11 |
12 | }
--------------------------------------------------------------------------------
/case-studies/java-pet-store/src/java/xml/schema/Editor.sugj:
--------------------------------------------------------------------------------
1 | package xml.schema;
2 |
3 | import xml.Editor;
4 | import xml.schema.Syntax;
5 |
6 | public editor services Editor {
7 | outliner
8 | XsdSugarDec
9 |
10 | folding
11 | XsdSugarDec
12 | }
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9081-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9081-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9081.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9081.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9083-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9083-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9083.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9083.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9084-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9084-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9084.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9084.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9086-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9086-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9086.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9086.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9088-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9088-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9088.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9088.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9099-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9099-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9099.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9099.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9100-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9100-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9100.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9100.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9101-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9101-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9101.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9101.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9102-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9102-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9102.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9102.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9103-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9103-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9103.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9103.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9104-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9104-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9104.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9104.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9107-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9107-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9107.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9107.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9109-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9109-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9109.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9109.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9113-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9113-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9113.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9113.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9115-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9115-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9115.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9115.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9117-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9117-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9117.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9117.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9118-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9118-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9118.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9118.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9122-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9122-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9122.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9122.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9123-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9123-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9123.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9123.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9125-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9125-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9125.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9125.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9127-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9127-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9127.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9127.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9129-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9129-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9129.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9129.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9134-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9134-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9134.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9134.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9138-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9138-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9138.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9138.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9142-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9142-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9142.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9142.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9149-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9149-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9149.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9149.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9154-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9154-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9154.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9154.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9155-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9155-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9155.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9155.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9156-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9156-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9156.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9156.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9157-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9157-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9157.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9157.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9158-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9158-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9158.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9158.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9159-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9159-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9159.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9159.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9162-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9162-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9162.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9162.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9165-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9165-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/CIMG9165.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/CIMG9165.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/ad-jre.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/ad-jre.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/ad-netbeans.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/ad-netbeans.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/ad-sdk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/ad-sdk.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/african-spurred-tortoise-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/african-spurred-tortoise-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/african-spurred-tortoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/african-spurred-tortoise.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/african-spurred-tortoise2-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/african-spurred-tortoise2-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/african-spurred-tortoise2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/african-spurred-tortoise2.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/anthony-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/anthony-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/anthony.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/anthony.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bailey-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bailey-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bailey.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bailey.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/banner_logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/banner_logo.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bird1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bird1.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bird2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bird2.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bird3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bird3.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bird4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bird4.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bird5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bird5.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bird6.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bird6.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/birds_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/birds_icon.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/biscuit-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/biscuit-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/biscuit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/biscuit.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bob-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bob-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/bob.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/bob.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/box-turtle-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/box-turtle-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/box-turtle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/box-turtle.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/box-turtle2-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/box-turtle2-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/box-turtle2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/box-turtle2.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/box-turtle3-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/box-turtle3-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/box-turtle3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/box-turtle3.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/california-desert-tortoise-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/california-desert-tortoise-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/california-desert-tortoise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/california-desert-tortoise.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/carp-car-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/carp-car-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/carp-car-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/carp-car-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat1.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat10.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat11.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat12.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat2.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat3.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat4.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat5.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat6.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat6.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat7.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat7.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat8.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat8.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cat9.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cat9.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/catalog-thumb-g.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/catalog-thumb-g.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/catalog-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/catalog-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cats_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cats_icon.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cbutton.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cbutton.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/chantelle-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/chantelle-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/chantelle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/chantelle.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/charlie-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/charlie-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/charlie.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/charlie.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/check_all.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/check_all.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cuttlefish-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cuttlefish-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/cuttlefish-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/cuttlefish-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dog1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dog1.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dog2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dog2.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dog3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dog3.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dog4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dog4.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dog5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dog5.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dog6.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dog6.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dogs_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dogs_icon.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dragon-iron-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dragon-iron-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/dragon-iron-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/dragon-iron-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/eagle-stone-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/eagle-stone-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/eagle-stone-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/eagle-stone-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/eclectus-female-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/eclectus-female-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/eclectus-female-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/eclectus-female-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/elkie-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/elkie-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/elkie.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/elkie.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/faith-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/faith-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/faith.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/faith.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/fish2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/fish2.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/fish3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/fish3.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/fish4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/fish4.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/fish_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/fish_icon.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/florida-king-snake-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/florida-king-snake-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/florida-king-snake.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/florida-king-snake.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/frog1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/frog1.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/gaetano-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/gaetano-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/gaetano.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/gaetano.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/galah-parrot-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/galah-parrot-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/galah-parrot-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/galah-parrot-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/glassfish-colored-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/glassfish-colored-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/glassfish-colored-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/glassfish-colored-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/guinea-pig-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/guinea-pig-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/guinea-pig.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/guinea-pig.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/harmony-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/harmony-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/harmony.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/harmony.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/harrison-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/harrison-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/harrison.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/harrison.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/hawaiian-lizard-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/hawaiian-lizard-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/hawaiian-lizard-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/hawaiian-lizard-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/honey-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/honey-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/honey.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/honey.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/hunter-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/hunter-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/hunter.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/hunter.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/index-thumb-g.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/index-thumb-g.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/index-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/index-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/indicator-black.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/indicator-black.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/ja_flag.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/ja_flag.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/jack-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/jack-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/jack.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/jack.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/katzen-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/katzen-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/katzen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/katzen.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/koi-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/koi-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/koi-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/koi-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/kookaburra-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/kookaburra-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/kookaburra-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/kookaburra-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/lady-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/lady-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/lady.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/lady.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/left.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/left.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/left_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/left_2.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/leopard-gecko-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/leopard-gecko-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/leopard-gecko-thumb2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/leopard-gecko-thumb2.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/leopard-gecko.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/leopard-gecko.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/leopard-gecko2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/leopard-gecko2.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/lizard1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/lizard1.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/lizard2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/lizard2.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/lizard3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/lizard3.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/lovebird-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/lovebird-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/lovebird-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/lovebird-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/macaw-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/macaw-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/macaw.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/macaw.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/maggie-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/maggie-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/maggie.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/maggie.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/marianna-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/marianna-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/marianna.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/marianna.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/mario-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/mario-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/mario.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/mario.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/maximize.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/maximize.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/mexican-redkneed-tarantula-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/mexican-redkneed-tarantula-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/mexican-redkneed-tarantula.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/mexican-redkneed-tarantula.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/mimi-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/mimi-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/mimi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/mimi.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/minimize.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/minimize.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/monique-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/monique-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/monique.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/monique.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/moon-jelly-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/moon-jelly-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/moon-jelly-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/moon-jelly-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/octopus-red-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/octopus-red-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/octopus-red-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/octopus-red-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/octopus-white-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/octopus-white-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/octopus-white-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/octopus-white-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/olie-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/olie-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/olie.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/olie.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/paris-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/paris-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/paris.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/paris.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/parrot-popcorn-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/parrot-popcorn-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/parrot-popcorn.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/parrot-popcorn.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/peacock-blue-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/peacock-blue-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/peacock-blue-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/peacock-blue-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/peacock-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/peacock-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/peacock-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/peacock-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/peacock-white-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/peacock-white-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/peakcock-white-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/peakcock-white-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/prehensile-tailed-skink-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/prehensile-tailed-skink-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/prehensile-tailed-skink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/prehensile-tailed-skink.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/prehensile-tailed-skink2-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/prehensile-tailed-skink2-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/prehensile-tailed-skink2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/prehensile-tailed-skink2.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/princess-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/princess-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/princess.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/princess.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/puppup-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/puppup-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/puppup.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/puppup.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/purple-jellyfish-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/purple-jellyfish-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/purple-jellyfish-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/purple-jellyfish-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/rainbow-lorikeet-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/rainbow-lorikeet-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/rainbow-lorikeet-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/rainbow-lorikeet-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/reptiles_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/reptiles_icon.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/right.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/right.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/rita-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/rita-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/rita.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/rita.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/rockfish-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/rockfish-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/rockfish-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/rockfish-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/sabrina-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/sabrina-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/sabrina.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/sabrina.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/sea-anemone-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/sea-anemone-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/sea-anemone-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/sea-anemone-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/sea-nettle-jellyfish-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/sea-nettle-jellyfish-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/sea-nettle-jellyfish-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/sea-nettle-jellyfish-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/seller-thumb-g.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/seller-thumb-g.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/seller-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/seller-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/simba-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/simba-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/simba.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/simba.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/splash.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/splash.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/spotted-jellyfish-med.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/spotted-jellyfish-med.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/spotted-jellyfish-thumb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/spotted-jellyfish-thumb.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/thaicat-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/thaicat-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/thaicat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/thaicat.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/thaidog-s.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/thaidog-s.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/thaidog.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/thaidog.jpg
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/uncheck_all.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/uncheck_all.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/us_flag.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/us_flag.gif
--------------------------------------------------------------------------------
/case-studies/java-pet-store/web/images/zh_flag.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/case-studies/java-pet-store/web/images/zh_flag.gif
--------------------------------------------------------------------------------
/case-studies/java-server-pages/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/java-server-pages/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | sug
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/java-server-pages/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | #Wed Sep 07 17:19:04 CEST 2011
2 | eclipse.preferences.version=1
3 | encoding//src/concretesyntax/Java.aterm=UTF-8
4 | encoding//src/examples/SimpleJSPExample.aterm=UTF-8
5 |
--------------------------------------------------------------------------------
/case-studies/java-server-pages/src/eblock/Test.sugj:
--------------------------------------------------------------------------------
1 | package eblock;
2 |
3 | import eblock.EBlock;
4 |
5 | public class Test {
6 | public static void main(String[] args) {
7 | int i = 0;
8 |
9 | System.out.println(i);
10 | System.out.println( {| i = i+1; | i | i = i-1; |} );
11 | System.out.println(i);
12 | }
13 | }
--------------------------------------------------------------------------------
/case-studies/java-server-pages/src/examples/SimpleJSPExample.sugj:
--------------------------------------------------------------------------------
1 | package examples;
2 | import jsp.JspSyntax;
3 | import html.Editor;
4 |
5 | public jsp SimpleJSPExample {
6 |
7 | <% int a;
8 | float e;
9 | %>
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/case-studies/java-server-pages/src/html/Sugar.sugj:
--------------------------------------------------------------------------------
1 | package html;
2 |
3 | import html.HtmlJavaSyntax;
4 | import html.AsSax;
5 | %% import html.Checks;
6 |
7 | public sugar Sugar {
8 |
9 | }
--------------------------------------------------------------------------------
/case-studies/pairs/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/pairs/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | pairs
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/pairs/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | formatter_profile=_Eclipse with spaces only
3 | formatter_settings_version=12
4 |
--------------------------------------------------------------------------------
/case-studies/pairs/src/pair/Pair.sugj:
--------------------------------------------------------------------------------
1 | package pair;
2 |
3 | public class Pair {
4 | public A a;
5 | public B b;
6 |
7 | public Pair (A a, B b) {
8 | this.a = a;
9 | this.b = b;
10 | }
11 |
12 | public static Pair create(A a, B b) {
13 | return new Pair(a, b);
14 | }
15 |
16 | public String toString() {
17 | return "(" + a.toString() + ", " + b.toString() + ")";
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/case-studies/pairs/src/pair/Test.sugj:
--------------------------------------------------------------------------------
1 | package pair;
2 |
3 | import pair.Sugar;
4 |
5 | public class Test {
6 | private (String, Integer) p = ("12", 34);
7 | }
8 |
9 |
10 |
--------------------------------------------------------------------------------
/case-studies/pairs/src/pair/concrete/Desugar.sugj:
--------------------------------------------------------------------------------
1 | package pair.concrete;
2 |
3 | import concretesyntax.Java;
4 |
5 | import pair.concrete.Syntax;
6 |
7 | public sugar Desugar {
8 | desugarings
9 | pair2expr
10 | pair2type
11 |
12 | rules
13 | pair2expr :
14 | |[ (~expr:e1, ~expr:e2) ]|
15 | ->
16 | |[ pair.Pair.create(~e1, ~e2) ]|
17 |
18 | pair2type :
19 | |[ (~type:t1, ~type:t2) ]|
20 | ->
21 | |[ pair.Pair<~t1, ~t2> ]|
22 | }
--------------------------------------------------------------------------------
/case-studies/pairs/src/pair/concrete/Syntax.sugj:
--------------------------------------------------------------------------------
1 | package pair.concrete;
2 |
3 | import org.sugarj.languages.Java;
4 |
5 | public sugar Syntax {
6 | context-free syntax
7 | "(" JavaExpr "," JavaExpr ")" ->
8 | JavaExpr {cons("PExpr")}
9 |
10 | "(" JavaType "," JavaType ")" ->
11 | JavaType {cons("PType")}
12 | }
--------------------------------------------------------------------------------
/case-studies/pairs/src/pair/concrete/Test.sugj:
--------------------------------------------------------------------------------
1 | package pair.concrete;
2 |
3 | import pair.concrete.Syntax;
4 | import pair.concrete.Desugar;
5 |
6 | public class Test {
7 | private static (String, Integer) p = ("12", 34);
8 |
9 | public static void main(String[] args) {
10 | System.out.println(p);
11 | }
12 | }
--------------------------------------------------------------------------------
/case-studies/pairs/src/tuples/Test.sugj:
--------------------------------------------------------------------------------
1 | package tuples;
2 |
3 | import tuples.Sugar;
4 |
5 | public class Test {
6 | private (String, Integer, Boolean) p = ("12", 34, false);
7 | }
8 |
9 |
10 |
--------------------------------------------------------------------------------
/case-studies/questionnaire-language/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/questionnaire-language/src/quest/Language.sugj:
--------------------------------------------------------------------------------
1 | package quest;
2 |
3 | import quest.lang.Syntax;
4 | import quest.lang.NormalizeQuestionText;
5 | import quest.lang.Editor;
6 | import quest.lang.Transform;
7 |
8 | import quest.analysis.Naming;
9 | import quest.analysis.Typing;
10 | import quest.analysis.Determinism;
11 |
12 | public sugar Language { }
13 | public editor services Language { }
14 |
--------------------------------------------------------------------------------
/case-studies/questionnaire-language/src/quest/lang/Editor.sugj:
--------------------------------------------------------------------------------
1 | package quest.lang;
2 |
3 | import quest.lang.Syntax;
4 |
5 | public editor services Editor {
6 | folding
7 | Quest
8 | Question
9 | QuestGroup
10 | ConditionalQuest
11 |
12 | colorer
13 | darkgrey = 100 100 100
14 | darkorange = 200 100 0
15 | keyword = 127 0 85 bold
16 |
17 | QuestText : blue
18 | QuestId : darkgrey
19 | QuestType : keyword
20 | }
--------------------------------------------------------------------------------
/case-studies/questionnaire-language/src/quest/lang/var/VariablePanel.sugj:
--------------------------------------------------------------------------------
1 | package quest.lang.var;
2 |
3 | import javax.swing.JPanel;
4 |
5 | /**
6 | * @author seba
7 | *
8 | */
9 | public class VariablePanel extends JPanel implements Variable.ChangeListener {
10 | public VariablePanel(Variable var) {
11 | var.addChangeListener(this);
12 | }
13 |
14 | public void changed(Boolean old, Boolean now) {
15 | this.setVisible(now);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/case-studies/statemachine/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/statemachine/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | statemachine
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/statemachine/src/entity/test/Account.sugj:
--------------------------------------------------------------------------------
1 | package entity.test;
2 |
3 | import entity.Metamodel;
4 |
5 | import entity.test.Customer;
6 |
7 | public entity Account {
8 | uid :: Integer
9 | owner :: Customer
10 | balance :: Integer
11 | pin :: String
12 | }
--------------------------------------------------------------------------------
/case-studies/statemachine/src/entity/test/Customer.sugj:
--------------------------------------------------------------------------------
1 | package entity.test;
2 |
3 | import entity.Metamodel;
4 |
5 | import java.util.Set;
6 |
7 | import entity.test.Account;
8 |
9 | public entity Customer {
10 | name :: String
11 | address :: String
12 | accounts :: Set
13 | }
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/data/Metamodel.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.data;
2 |
3 | import statemachine.Metamodel;
4 | import statemachine.data.InternalData;
5 | import statemachine.data.ParametricEvent;
6 | import statemachine.data.TransitionCondition;
7 | import statemachine.data.TransitionEffect;
8 |
9 | public sugar Metamodel {
10 | desugarings
11 | \ ModelDecHead(mods,name,"statemachine.Metamodel") -> ModelDecHead(mods,name,"statemachine.data.Metamodel") \
12 | }
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/data/ParametricEvent.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.data;
2 |
3 | import statemachine.Metamodel;
4 | import entity.Metamodel;
5 |
6 | public sugar ParametricEvent {
7 | context-free syntax
8 | EventName "(" {Sort ","}+ ")" -> EventDec {cons("ParametricEvent")}
9 | EventName "(" {JavaId ","}+ ")" -> Event {cons("ParametricEvent")}
10 | }
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/data/TransitionCondition.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.data;
2 |
3 | import statemachine.Metamodel;
4 | import statemachine.data.EntityExp;
5 |
6 | public sugar TransitionCondition {
7 | context-free syntax
8 | Event "if" EntityExp -> TransitionFrom {cons("WithCondition")}
9 | }
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/data/TransitionEffect.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.data;
2 |
3 | import statemachine.Metamodel;
4 | import statemachine.data.EntityExp;
5 |
6 | public sugar TransitionEffect {
7 | context-free syntax
8 | StateName Effect -> TransitionTo {cons("WithEffect")}
9 |
10 | "{" Assignment* "}" -> Effect {bracket}
11 | EntityExp ":=" EntityExp -> Assignment {cons("Assignment")}
12 | }
13 |
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/test/ATMRef.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.test;
2 |
3 | import statemachine.test.ATM;
4 |
5 | public class ATMRef {
6 | public static void print() {
7 | ATM atm = new ATM();
8 | System.out.println(atm);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/test/ATMRefTest.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.test;
2 |
3 | import statemachine.test.TransTest(statemachine.test.ATMRef);
4 |
5 | public class ATMRefTest {
6 | public static void main(String[] args) {
7 | ATMRef.print();
8 | }
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/test/ATMRefTestRecursive.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.test;
2 |
3 | import transformation.Recursive(statemachine.ToJava)(statemachine.test.ATMRef);
4 |
5 | public class ATMRefTestRecursive {
6 | public static void main(String[] args) {
7 | ATMRef.print();
8 | }
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/case-studies/statemachine/src/statemachine/test/TransTest.sugj:
--------------------------------------------------------------------------------
1 | package statemachine.test;
2 |
3 | import statemachine.ToJava;
4 |
5 | import transformation.Recursive;
6 |
7 | public transformation TransTest {
8 | main = recursively-transform(conforms-to-metamodel(|"statemachine.Metamodel"), main-statemachine_ToJava)
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/case-studies/statemachine/src/template/Language.sugj:
--------------------------------------------------------------------------------
1 | package template;
2 |
3 | import template.Core;
4 | import template.ConcreteSyntax;
5 | import template.Unquote;
6 | import template.UnquoteSplicing;
7 | import template.Shorthands;
8 | import template.LocalStrategies;
9 | import template.IdentifierComposition;
10 | import template.Foreach;
11 |
12 | public sugar Language {
13 | }
14 |
--------------------------------------------------------------------------------
/case-studies/statemachine/src/template/UnquoteEnum.sugj:
--------------------------------------------------------------------------------
1 | package template;
2 |
3 | public sugar UnquoteEnum {
4 | context-free syntax
5 | Unquote -> JavaEnumConst
6 | UnquoteSplicing -> JavaEnumConst
7 |
8 | JavaEnumConst -> Requoted {avoid}
9 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity-mdd/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/test-circularity-mdd/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | formatter_profile=_Eclipse with spaces only
3 | formatter_settings_version=12
4 |
--------------------------------------------------------------------------------
/case-studies/test-circularity-mdd/src/test/D1.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import metamodel.Java;
4 |
5 | import test.D2;
6 |
7 | public class-model D1 {
8 | public D2 d2 = new D2();
9 |
10 | public D1() {
11 | d2.d3.d1 = this;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/case-studies/test-circularity-mdd/src/test/D2.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import metamodel.Java;
4 |
5 | import test.D3;
6 |
7 | public class-model D2 {
8 | public D3 d3 = new D3();
9 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity-mdd/src/test/D3.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import metamodel.Java;
4 |
5 | import test.D1;
6 |
7 | public class-model D3 {
8 | public D1 d1 = null;
9 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity-mdd/src/test/TestD1D2.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import trans.CompJavaModel(test.D1);
4 |
5 | public class TestD1D2 {
6 | public static void main(String[] args) {
7 | D1 d1 = new D1();
8 | System.out.println(d1);
9 | System.out.println(d1.d2);
10 | System.out.println(d1.d2.d3);
11 | System.out.println(d1.d2.d3.d1);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/case-studies/test-circularity/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/test-circularity/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | test-circularity
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/test-circularity/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | formatter_profile=_Eclipse with spaces only
3 | formatter_settings_version=12
4 |
--------------------------------------------------------------------------------
/case-studies/test-circularity/src/test/A.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import test.B;
4 |
5 | public class A {
6 | public B b = new B();
7 |
8 | public A() {
9 | b.a = this;
10 | }
11 |
12 | public static void main(String[] args) {
13 | A a = new A();
14 | System.out.println(a);
15 | System.out.println(a.b);
16 | System.out.println(a.b.c);
17 | System.out.println(a.b.c.d1);
18 | System.out.println(a.b.c.d1.d2);
19 | }
20 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity/src/test/B.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import test.A;
4 | import test.C;
5 |
6 | public class B {
7 | public A a = null;
8 | public C c = new C();
9 |
10 | public B() {
11 | c.b = this;
12 | }
13 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity/src/test/C.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import test.B;
4 | import test.D1;
5 |
6 | public class C {
7 | public B b = null;
8 | public D1 d1 = new D1();
9 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity/src/test/D1.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import test.D2;
4 |
5 | public class D1 {
6 | public D2 d2 = new D2();
7 |
8 | public D1() {
9 | d2.d1 = this;
10 | }
11 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity/src/test/D2.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import test.D1;
4 |
5 | public class D2 {
6 | public D1 d1 = null;
7 | }
--------------------------------------------------------------------------------
/case-studies/test-circularity/src/test/Foo.aterm:
--------------------------------------------------------------------------------
1 | MethodDec(
2 | MethodDecHead(
3 | [Public()]
4 | , None()
5 | , Void()
6 | , Id("update")
7 | , []
8 | , None()
9 | )
10 | , Block(
11 | [ ExprStm(
12 | Invoke(
13 | Method(MethodName(AmbName(Id("lab")), Id("setText")))
14 | , [ExprName(Id("res"))]
15 | )
16 | )
17 | ]
18 | )
19 | )
--------------------------------------------------------------------------------
/case-studies/test-circularity/src/test/Foo.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | public class Foo {
4 | public void update() {
5 | lab.setText(res);
6 | }
7 | }
--------------------------------------------------------------------------------
/case-studies/test-completion/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/test-completion/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | xml
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/test-completion/src/completion/Keyword.sugj:
--------------------------------------------------------------------------------
1 | package completion;
2 |
3 | public editor services Keyword {
4 | completions
5 | completion keyword : "foo rocks"
6 | }
--------------------------------------------------------------------------------
/case-studies/test-completion/src/completion/Template.sugj:
--------------------------------------------------------------------------------
1 | package completion;
2 |
3 | public editor services Template {
4 | completions
5 | completion template : " rocks"
6 | }
7 |
--------------------------------------------------------------------------------
/case-studies/test-completion/src/test/Test.sugj:
--------------------------------------------------------------------------------
1 | package test;
2 |
3 | import completion.Keyword;
4 | import completion.Template;
5 |
6 | public class Test {
7 | private String completeMe = "SugarJ rocks";
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | case-studies
4 |
5 |
6 |
7 |
8 |
9 | org.sugarj.editor.SugarJBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/compile.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ $# -lt 1 ]; then
4 | echo "Usage: compile.sh "
5 | exit 1
6 | fi
7 | file=$1
8 |
9 | dir=${0%/*}
10 |
11 | sugarj=$dir/../../deployment/cli-scripts/sugarj-dev
12 |
13 | opts="-l fomega \
14 | --cache $dir/.sugarjcache \
15 | --sourcepath $dir/src \
16 | -d $dir/bin \
17 | -cp $dir/bin"
18 |
19 | exec $sugarj $opts $file
20 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/Roadmap.txt:
--------------------------------------------------------------------------------
1 | * handle imports
2 | * rule syntax and rule checking
3 | * translating rules to stratego function
4 | * bigger case study
5 |
6 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/proof-obligation/Rules.str:
--------------------------------------------------------------------------------
1 | module Rules
2 |
3 | imports Lambda
4 |
5 | signature constructors
6 | Metavar : String -> Metavar
7 |
8 | EmptyCtx : Ctx
9 | BindCtx : Ctx * String * Type -> Ctx
10 |
11 | Rel : Ctx * Exp * Type -> Rel
12 | Eq : a * a -> Rel
13 | Neq : a * a -> Rel
14 |
15 | Rule : List(Rel) * Rel -> Rule
16 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Case02.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Case02
2 |
3 | import typing.check.TypeChecker
4 |
5 |
6 | val f = \n:Nat. n
7 |
8 | // error: line 10 column 18 to line 10 column 18:
9 | // "type mismatch, expected TyNat but found TyBool"
10 | val test01 = \x:.
11 | case x of => f b
12 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Module01.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Module01
2 |
3 | import qualified typing.check.TypeChecker
4 |
5 | public type N = Nat
6 | public val z = 0
7 |
8 | type Private = String
9 | val private = 0
10 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Module02.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Module02
2 |
3 | import typing.check.TypeChecker
4 |
5 | import tests.check.Module01
6 |
7 | type NTest = N
8 | val ztest = z
9 |
10 | // undefined identifier Private/private
11 | type PrivateFail = Private
12 | val privateFail = private
13 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Module03.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Module03
2 |
3 | import typing.check.TypeChecker
4 |
5 | val n = 1
6 |
7 | val id = \n:Nat. n
8 |
9 | public val one = id n
10 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Module04.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Module04
2 |
3 | import typing.check.TypeChecker
4 |
5 | import tests.check.Module03
6 |
7 | val onemore = one
8 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Module05.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Module05
2 |
3 | import typing.check.TypeChecker
4 |
5 | public val x = "x"
6 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Module06.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Module06
2 |
3 | import typing.check.TypeChecker
4 |
5 | public val x = true
6 |
7 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Module07.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Module07
2 |
3 | import typing.check.TypeChecker
4 | import tests.check.Module05
5 | import tests.check.Module06
6 |
7 | val z = x
8 | val y = x
9 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Records01.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Records01
2 |
3 | // Should give no errors.
4 |
5 | import typing.check.TypeChecker
6 |
7 | type NatPair = {fst:Nat,snd:Nat}
8 |
9 | val fstNat = \p:NatPair. p!fst
10 |
11 | val e1 = fstNat {snd=5,fst=1}
12 |
13 | val e2 = fstNat {fst=1,snd=5}
14 |
15 | val appNatProj = \p:NatPair->Nat.\v:{snd:Nat,fst:Nat}. p v
16 |
17 | val e3 = appNatProj fstNat
18 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Template.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Template
2 |
3 | import typing.check.TypeChecker
4 |
5 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/TypeOperators01.sf:
--------------------------------------------------------------------------------
1 | module tests.check.TypeOperators01
2 |
3 | import typing.check.TypeChecker
4 |
5 | type I = \X::*.X
6 | type K = \X::*.\Y::*.X
7 |
8 | val id = \X::*.\x:X.x
9 |
10 | val f = \n:K Nat Bool. n
11 |
12 | val x = id [Nat] 7
13 |
14 | val bar = f x
15 |
16 | // error: line 16 column 16 to line 16 column 26:
17 | // "type mismatch, expected TyNat but found TyBool"
18 | val test01 = f (id [Bool] true)
19 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/check/Variant01.sf:
--------------------------------------------------------------------------------
1 | module tests.check.Variant01
2 |
3 | import typing.check.TypeChecker
4 |
5 | type Either = \A::*.\B::*.
6 |
7 | val left = \A::*.\B::*.\a:A. as Either A B
8 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/extensions/LetErrors.sf:
--------------------------------------------------------------------------------
1 | module tests.extensions.LetErrors
2 |
3 | import typing.rules.TypeChecker
4 |
5 | import typing.extensions.let.Syntax
6 | import typing.extensions.let.Semantics
7 |
8 |
9 | val val1 =
10 | let
11 | x:Bool = \x:Nat. x
12 | in
13 | if x then true else false
14 |
15 | val val2 =
16 | let
17 | f:Nat->Nat = \x:Nat. x
18 | in
19 | f false
20 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/extensions/SumComp.sf:
--------------------------------------------------------------------------------
1 | module tests.extensions.SumComp
2 |
3 | import typing.rules.TypeChecker
4 |
5 | import typing.extensions.sumcomprehension.Syntax
6 | import typing.extensions.sumcomprehension.Semantics
7 | import qualified typing.extensions.sumcomprehension.Support
8 |
9 |
10 | val test01 =
11 | dosum
12 | { n1 <- 5
13 | ; (\x:Nat. \y:Nat. y) n1 1 }
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/tests/rules/SimpleErrors.sf:
--------------------------------------------------------------------------------
1 | module tests.rules.SimpleErrors
2 |
3 | import typing.rules.TypeChecker
4 |
5 | val val1 = (\x:Nat. x) true
6 |
7 | val val2 = if val1 then false else true
8 |
9 | val val3 = if true then (\x:String. true) else (\x:String. x)
10 |
11 | val val4 = if true then val1 else true
12 |
13 | val val5 = if true then (\x:String. true) else true
14 |
15 | val val6 = (\X::*.\x:X. x) [\X::*.X]
16 |
--------------------------------------------------------------------------------
/case-studies/test-fomega-typechecker/src/typing/check/ErrorHandling.sf:
--------------------------------------------------------------------------------
1 | module typing.check.ErrorHandling
2 |
3 | rules
4 | errorIf(condition|msg) = if condition then ![msg] else ![] end
5 | errorUnless(condition|msg) = if condition then ![] else ![msg] end
6 | msgsToErrs: (msgs,T) ->