├── .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) -> (T,msg) \)> msgs 7 | -------------------------------------------------------------------------------- /case-studies/test-fomega-typechecker/src/typing/check/Signature.sf: -------------------------------------------------------------------------------- 1 | module typing.check.Signature 2 | 3 | import org.sugarj.languages.Fomega 4 | 5 | signature 6 | sorts Signature 7 | 8 | constructors 9 | SigEmpty: Signature 10 | SigBindTVarDef: FomegaID * FomegaKind * FomegaType * Signature -> Signature 11 | SigBindVar: FomegaID * FomegaType * Signature -> Signature 12 | -------------------------------------------------------------------------------- /case-studies/test-fomega-typechecker/src/typing/extensions/sumcomprehension/Support.sf: -------------------------------------------------------------------------------- 1 | module typing.extensions.sumcomprehension.Support 2 | 3 | import typing.rules.TypeChecker 4 | 5 | public val sum = \n:Nat. \m:Nat. \f:Nat->Nat. 1 6 | // Should calculate f(n) + f(n+1) + ... + f(m). 7 | // We do not have arithmetic primitives right now, hence 8 | // this dummy definition. 9 | 10 | public val sum1 = sum 1 11 | -------------------------------------------------------------------------------- /case-studies/test-fomega/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /case-studies/test-fomega/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | test-fomega 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/src/Test.sf: -------------------------------------------------------------------------------- 1 | module Test 2 | 3 | import sub.Bar 4 | import typing.Check 5 | 6 | // type App :: * => * = fun A::* . A 7 | 8 | val x = 5 9 | 10 | type T2 = Nat 11 | type T = \X :: * . T2 12 | -------------------------------------------------------------------------------- /case-studies/test-fomega/src/sub/Bar.sf: -------------------------------------------------------------------------------- 1 | module sub.Bar 2 | 3 | import sub.subsub.Barf 4 | 5 | val x = \x:T.x->N. sub.sub sub 6 | 7 | -------------------------------------------------------------------------------- /case-studies/test-fomega/src/sub/subsub/Barf.sf: -------------------------------------------------------------------------------- 1 | module sub.subsub.Barf 2 | 3 | val x = 1 4 | -------------------------------------------------------------------------------- /case-studies/test-type-check-first/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /case-studies/test-type-check-first/.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-type-check-first/src/test/Desugar.sugj: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | import test.Check; 4 | 5 | public sugar Desugar { 6 | desugarings 7 | int-lit-to-string 8 | 9 | rules 10 | int-lit-to-string = has-type(|"Int"); ?Lit(_); !Lit(String([Chars("This was an int")])) 11 | } 12 | -------------------------------------------------------------------------------- /case-studies/test-type-check-first/src/test/Editor.sugj: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | import test.Check; 4 | 5 | public sugar Editor { 6 | rules 7 | type-info-hover = ?(,_,_,_,_) 8 | } 9 | 10 | public editor services Editor { 11 | references 12 | hover _ : type-info-hover 13 | } -------------------------------------------------------------------------------- /case-studies/test-type-check-first/src/test/Subject.sugj: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | import test.Check; 4 | import test.Desugar; 5 | import test.Editor; 6 | 7 | public class Subject { 8 | // desugars to: 9 | // private String s = "This was an int" + "This was an int"; 10 | private String s = 5 + 1; 11 | 12 | // type error is marked on '3.14': expected type Int 13 | private Object o = 3.14 + 1; 14 | } 15 | 16 | -------------------------------------------------------------------------------- /case-studies/xml/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /case-studies/xml/.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/xml/src/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/xml/src/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/xml/src/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/xml/src/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, "XML start and end tag need to coincide"), 9 | (rname, "XML2 start and end tag need to coincide")] 10 | where (lname, rname) 11 | } 12 | -------------------------------------------------------------------------------- /case-studies/xml/src/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/xml/src/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/xml/src/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 | } -------------------------------------------------------------------------------- /common/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /common/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /common/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | output.. = bin/ 3 | bin.includes = META-INF/,\ 4 | . 5 | -------------------------------------------------------------------------------- /compiler/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /compiler/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /compiler/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: . commons-cli-1.2.jar strategoxt.jar 3 | Main-Class: org.sugarj.driver.Driver 4 | 5 | -------------------------------------------------------------------------------- /compiler/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | output.. = bin/ 3 | bin.includes = META-INF/,\ 4 | .,\ 5 | make_permissive.jar,\ 6 | commons-cli-1.2.jar,\ 7 | commons-collections-3.2.1.jar,\ 8 | plugin.xml 9 | -------------------------------------------------------------------------------- /compiler/commons-cli-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/compiler/commons-cli-1.2.jar -------------------------------------------------------------------------------- /compiler/make_permissive.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/compiler/make_permissive.jar -------------------------------------------------------------------------------- /compiler/src/org/sugarj/driver/transformations/extraction/Main.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.driver.transformations.extraction; 2 | 3 | public class Main extends ext_out 4 | { } -------------------------------------------------------------------------------- /compiler/src/org/sugarj/driver/transformations/extraction/extraction.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.driver.transformations.extraction; 2 | 3 | public class extraction extends Main 4 | { } -------------------------------------------------------------------------------- /compiler/src/org/sugarj/driver/transformations/renaming/Main.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.driver.transformations.renaming; 2 | 3 | public class Main extends out 4 | { } -------------------------------------------------------------------------------- /compiler/src/org/sugarj/driver/transformations/renaming/renaming.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.driver.transformations.renaming; 2 | 3 | public class renaming extends Main 4 | { } -------------------------------------------------------------------------------- /compiler/src/org/sugarj/util/ProcessingListener.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.util; 2 | 3 | import org.sugarj.common.path.RelativePath; 4 | import org.sugarj.driver.Result; 5 | 6 | /** 7 | * 8 | * @author seba 9 | */ 10 | public interface ProcessingListener { 11 | public void processingStarts(RelativePath sourceFile); 12 | public void processingDone(Result result); 13 | } 14 | -------------------------------------------------------------------------------- /deployment/build-all.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /deployment/cli-scripts/.gitignore: -------------------------------------------------------------------------------- 1 | classes/* 2 | !sugarj/bin 3 | -------------------------------------------------------------------------------- /deployment/cli-scripts/cabal/SugarHaskell.hs: -------------------------------------------------------------------------------- 1 | module Main where 2 | 3 | import Launch 4 | 5 | main = launch "haskell" 6 | -------------------------------------------------------------------------------- /deployment/cli-scripts/cabal/SugarJ.hs: -------------------------------------------------------------------------------- 1 | module Main where 2 | 3 | import Launch 4 | 5 | main = launch "java" 6 | -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.core.jobs_3.5.200.v20120521-2346.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.core.jobs_3.5.200.v20120521-2346.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.core.resources_3.8.0.v20120522-2034.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.core.resources_3.8.0.v20120522-2034.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.core.runtime_3.8.0.v20120521-2346.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.core.runtime_3.8.0.v20120521-2346.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.debug.core_3.7.100.v20120521-2012.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.debug.core_3.7.100.v20120521-2012.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.jdt.core_3.8.1.v20120531-0637.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.jdt.core_3.8.1.v20120531-0637.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.jface_3.8.0.v20120521-2329.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.jface_3.8.0.v20120521-2329.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.osgi_3.8.0.v20120529-1548.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.osgi_3.8.0.v20120529-1548.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.swt.cocoa.macosx.x86_64_3.100.0.v4233d.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.swt.cocoa.macosx.x86_64_3.100.0.v4233d.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.eclipse.ui.workbench_3.103.0.v20120530-1824.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.eclipse.ui.workbench_3.103.0.v20120530-1824.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.strategoxt.imp.debug.core_0.1.1.201202141159.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.strategoxt.imp.debug.core_0.1.1.201202141159.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/jars/org.strategoxt.imp.runtime_0.1.1.201202141159.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/jars/org.strategoxt.imp.runtime_0.1.1.201202141159.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/native/META-INF/maven/spoofax/org.strategoxt.imp.nativebundle/pom.properties: -------------------------------------------------------------------------------- 1 | #Generated by Maven 2 | #Tue Feb 14 12:02:08 UTC 2012 3 | version=0.1.1-SNAPSHOT 4 | groupId=spoofax 5 | artifactId=org.strategoxt.imp.nativebundle 6 | -------------------------------------------------------------------------------- /deployment/cli-scripts/native/native/cygwin/cygwin1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/native/cygwin/cygwin1.dll -------------------------------------------------------------------------------- /deployment/cli-scripts/native/native/cygwin/implodePT.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/native/cygwin/implodePT.exe -------------------------------------------------------------------------------- /deployment/cli-scripts/native/native/cygwin/sdf2table.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/native/cygwin/sdf2table.exe -------------------------------------------------------------------------------- /deployment/cli-scripts/native/native/linux/implodePT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/native/linux/implodePT -------------------------------------------------------------------------------- /deployment/cli-scripts/native/native/linux/sdf2table: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/native/linux/sdf2table -------------------------------------------------------------------------------- /deployment/cli-scripts/native/native/macosx/implodePT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/native/macosx/implodePT -------------------------------------------------------------------------------- /deployment/cli-scripts/native/native/macosx/sdf2table: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/native/macosx/sdf2table -------------------------------------------------------------------------------- /deployment/cli-scripts/native/org/strategoxt/imp/nativebundle/Activator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/org/strategoxt/imp/nativebundle/Activator.class -------------------------------------------------------------------------------- /deployment/cli-scripts/native/org/strategoxt/imp/nativebundle/SDFBundleCommand.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/native/org/strategoxt/imp/nativebundle/SDFBundleCommand.class -------------------------------------------------------------------------------- /deployment/cli-scripts/strategoxt.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/cli-scripts/strategoxt.jar -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/README.md: -------------------------------------------------------------------------------- 1 | ../../../README.md -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/bin/sugarj: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # script to invoke sugarj from command line 3 | # using class files in deployment library 4 | 5 | script="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" 6 | exec java -Xss64m -Xmx1024m -cp "$script/lib" org.sugarj.driver.cli.Main $* 7 | -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/bin/sugarj.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | SETLOCAL enabledelayedexpansion 4 | 5 | set WORKDIR=%CD% 6 | 7 | 8 | cd /d "%0%\.." 9 | 10 | set SCRIPT=%CD% 11 | 12 | 13 | cd %WORKDIR% 14 | 15 | 16 | java -Xss64m -Xmx1024m -cp "%SCRIPT%\..\lib" org.sugarj.driver.cli.Main %*% 17 | endlocal -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/bin/sugh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # compile sugared haskell 3 | 4 | this_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 5 | exec "$this_dir/sugarj" -l haskell $* 6 | -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/bin/sugh.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | SETLOCAL enabledelayedexpansion 4 | 5 | set WORKDIR=%CD% 6 | 7 | 8 | cd /d "%0%\.." 9 | 10 | 11 | set SCRIPT=%CD% 12 | 13 | 14 | cd %WORKDIR% 15 | 16 | 17 | "%SCRIPT%\sugarj.bat" -l haskell %*% 18 | endlocal -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/bin/sugj: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # compile sugared java 3 | 4 | this_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 5 | exec "$this_dir/sugarj" -l java $* 6 | -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/bin/sugj.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | SETLOCAL enabledelayedexpansion 4 | 5 | set WORKDIR=%CD% 6 | 7 | 8 | cd /d "%0%\.." 9 | 10 | 11 | set SCRIPT=%CD% 12 | 13 | 14 | cd %WORKDIR% 15 | 16 | 17 | "%SCRIPT%\sugarj.bat" -l java %*% 18 | endlocal -------------------------------------------------------------------------------- /deployment/cli-scripts/sugarj/lib: -------------------------------------------------------------------------------- 1 | ../classes -------------------------------------------------------------------------------- /deployment/feature-base/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | feature-base 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.FeatureNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /deployment/feature-base/build-feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /deployment/feature-base/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml 2 | -------------------------------------------------------------------------------- /deployment/feature-fomega/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | feature-fomega 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.FeatureNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /deployment/feature-fomega/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml 2 | -------------------------------------------------------------------------------- /deployment/feature-haskell/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | feature-haskell 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.FeatureNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /deployment/feature-haskell/build-feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /deployment/feature-haskell/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml 2 | -------------------------------------------------------------------------------- /deployment/feature-java/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | feature-java 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.FeatureNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /deployment/feature-java/build-feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /deployment/feature-java/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml 2 | -------------------------------------------------------------------------------- /deployment/feature-javascript/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | feature-javascript 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.FeatureNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /deployment/feature-javascript/build-feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /deployment/feature-javascript/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml 2 | -------------------------------------------------------------------------------- /deployment/feature-prolog/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | feature-prolog 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.FeatureBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.FeatureNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /deployment/feature-prolog/build-feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /deployment/feature-prolog/build.properties: -------------------------------------------------------------------------------- 1 | bin.includes = feature.xml 2 | -------------------------------------------------------------------------------- /deployment/update-site/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.sugarj.update-site 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.pde.UpdateSiteBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.pde.UpdateSiteNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /deployment/update-site/copy-to-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | SERVER=login.mathematik.uni-marburg.de 4 | DIR=public_html/projects/sugarj/update 5 | 6 | rm artifacts.jar 7 | rm content.jar 8 | rsync -avz . $SERVER:$DIR 9 | -------------------------------------------------------------------------------- /deployment/update-site/images/bg_hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/update-site/images/bg_hr.png -------------------------------------------------------------------------------- /deployment/update-site/images/blacktocat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/update-site/images/blacktocat.png -------------------------------------------------------------------------------- /deployment/update-site/images/eclipse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/update-site/images/eclipse.png -------------------------------------------------------------------------------- /deployment/update-site/images/icon_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/update-site/images/icon_download.png -------------------------------------------------------------------------------- /deployment/update-site/images/sprite_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/deployment/update-site/images/sprite_download.png -------------------------------------------------------------------------------- /editor/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /editor/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /editor/build.properties: -------------------------------------------------------------------------------- 1 | source.. = editor/java/ 2 | output.. = bin/ 3 | bin.includes = META-INF/,\ 4 | plugin.xml,\ 5 | include/,\ 6 | bin/,\ 7 | lib/,\ 8 | . 9 | -------------------------------------------------------------------------------- /editor/editor/SugarJ-Colorer.esv: -------------------------------------------------------------------------------- 1 | module SugarJ-Colorer 2 | 3 | colorer 4 | 5 | // This file can be used for custom colorer rules. 6 | // 7 | // See the imported file for a brief introduction and examples. -------------------------------------------------------------------------------- /editor/editor/SugarJ-Completions.esv: -------------------------------------------------------------------------------- 1 | module SugarJ-Completions 2 | 3 | completions 4 | 5 | // This file is used to define content completion. 6 | // 7 | // See the imported file for a brief introduction and examples. 8 | 9 | -------------------------------------------------------------------------------- /editor/editor/SugarJ-Folding.esv: -------------------------------------------------------------------------------- 1 | module SugarJ-Folding 2 | 3 | folding 4 | 5 | // This file can be used for custom folding rules. 6 | // 7 | // See the imported file for a brief introduction and examples. -------------------------------------------------------------------------------- /editor/editor/SugarJ-Outliner.esv: -------------------------------------------------------------------------------- 1 | module SugarJ-Outliner 2 | 3 | outliner 4 | 5 | // This file can be used for custom outliner rules. 6 | // 7 | // See the imported file for a brief introduction and examples. -------------------------------------------------------------------------------- /editor/editor/SugarJ-Outliner.generated.str: -------------------------------------------------------------------------------- 1 | module editor/SugarJ-Outliner.generated 2 | 3 | imports 4 | include/SugarJ 5 | lib/runtime/editor/outline-library 6 | 7 | rules 8 | 9 | outline = simple-label-outline(to-outline-label) 10 | 11 | to-outline-label = fail 12 | -------------------------------------------------------------------------------- /editor/editor/SugarJ-Outliner.str: -------------------------------------------------------------------------------- 1 | module editor/SugarJ-Outliner 2 | 3 | imports 4 | include/SugarJ 5 | lib/runtime/editor/outline-library 6 | lib/runtime/editor/origins 7 | editor/SugarJ-Outliner.generated 8 | 9 | rules 10 | 11 | outline-expand-to-level = !3 12 | -------------------------------------------------------------------------------- /editor/editor/SugarJ-Syntax.esv: -------------------------------------------------------------------------------- 1 | module SugarJ-Syntax 2 | 3 | language 4 | 5 | // This file can be used for custom syntax rules. 6 | // 7 | // See the imported file for a brief introduction and examples. -------------------------------------------------------------------------------- /editor/editor/java/org/sugarj/editor/SugarJActivator.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.editor; 2 | 3 | import org.osgi.framework.BundleContext; 4 | 5 | /** 6 | * @author seba 7 | */ 8 | public class SugarJActivator extends Activator { 9 | @Override 10 | public void start(BundleContext context) throws Exception { 11 | super.start(context); 12 | // force loading of SugarJ IMP plugin 13 | SugarJParseController.getDescriptor(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /editor/editor/java/org/sugarj/editor/SugarJValidator.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.editor; 2 | 3 | import org.strategoxt.imp.runtime.dynamicloading.Descriptor; 4 | import org.strategoxt.imp.runtime.services.MetaFileLanguageValidator; 5 | 6 | public class SugarJValidator extends MetaFileLanguageValidator 7 | { 8 | @Override public Descriptor getDescriptor() 9 | { 10 | return SugarJParseController.getDescriptor(); 11 | } 12 | } -------------------------------------------------------------------------------- /editor/editor/java/org/sugarj/editor/strategies/Main.java: -------------------------------------------------------------------------------- 1 | package org.sugarj.editor.strategies; 2 | 3 | import org.strategoxt.lang.Context; 4 | 5 | public class Main { 6 | 7 | public static void init(Context context) { 8 | // Called when the editor is being initialized 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /editor/icons/wizard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/editor/icons/wizard.gif -------------------------------------------------------------------------------- /editor/lib/analysis-auto.generated.str: -------------------------------------------------------------------------------- 1 | module lib/analysis-auto.generated 2 | 3 | signature 4 | constructors 5 | 6 | 7 | 8 | imports 9 | lib/editor-common.generated 10 | include/SugarJ 11 | 12 | 13 | rules 14 | 15 | nam-get-def(|n) = 16 | fail 17 | 18 | nam-annotate-use(|n) = 19 | fail -------------------------------------------------------------------------------- /editor/lib/runtime/editor/editor.str: -------------------------------------------------------------------------------- 1 | module runtime/editor/editor 2 | 3 | rules 4 | 5 | project-path = prim("SSL_EXT_projectpath") 6 | 7 | plugin-path = prim("SSL_EXT_pluginpath") 8 | 9 | refresh-workspace-file: 10 | path -> 11 | 12 | editor-init = 13 | // Ensure all dynamic rules are properly scoped 14 | try(dr-scope-all-end); 15 | dr-scope-all-start 16 | -------------------------------------------------------------------------------- /editor/lib/runtime/editor/interop.str: -------------------------------------------------------------------------------- 1 | module runtime/editor/interop 2 | 3 | rules 4 | 5 | foreign-call(|lang,strategy) = prim("SSL_EXT_foreigncall", lang, strategy) 6 | 7 | -------------------------------------------------------------------------------- /editor/lib/runtime/index/partition.str: -------------------------------------------------------------------------------- 1 | module runtime/index/partition 2 | 3 | rules // Construction 4 | 5 | index-create-partition(|file) = 6 | !file 7 | 8 | index-create-partition(|file, uri) = 9 | !(file, uri) 10 | 11 | rules // Projections 12 | 13 | index-partition-file: 14 | (file, _) -> file 15 | 16 | index-partition-file: 17 | file -> file 18 | where 19 | file 20 | 21 | index-partition-uri: 22 | (_, uri) -> uri 23 | -------------------------------------------------------------------------------- /editor/lib/runtime/index/utils.str: -------------------------------------------------------------------------------- 1 | module runtime/index/utils 2 | 3 | rules 4 | 5 | index-setup-paths = try(is-list; Hd) 6 | -------------------------------------------------------------------------------- /editor/lib/runtime/task/interface.str: -------------------------------------------------------------------------------- 1 | module runtime/task/interface 2 | 3 | strategies 4 | 5 | perform-task(|nr) = fail 6 | task-match = fail 7 | avoid-task(|dep*) = fail 8 | task-is-combinator = fail 9 | -------------------------------------------------------------------------------- /editor/lib/runtime/types/interface.str: -------------------------------------------------------------------------------- 1 | module runtime/types/interface 2 | 3 | strategies 4 | 5 | custom-properties(add-properties) = fail 6 | 7 | new-property-task(|task*): (kind, term) -> 8 | 9 | type-of(|partition) = fail 10 | 11 | type-of(|lang, partition, uri*) = fail 12 | 13 | type-prop-eq = eq 14 | 15 | -------------------------------------------------------------------------------- /editor/syntax/SugarJ.pp: -------------------------------------------------------------------------------- 1 | %% Pretty printing table (see also SugarJ.generated.pp) 2 | [] 3 | -------------------------------------------------------------------------------- /editor/syntax/SugarJ.sdf: -------------------------------------------------------------------------------- 1 | module SugarJ 2 | exports 3 | context-free start-symbols 4 | CompilationUnit 5 | 6 | context-free syntax 7 | "abc" -> CompilationUnit {cons("abc")} -------------------------------------------------------------------------------- /editor/trans/sugarj.str: -------------------------------------------------------------------------------- 1 | module sugarj 2 | 3 | imports 4 | libstratego-lib 5 | libstratego-gpp 6 | libstratego-aterm 7 | include/SugarJ 8 | lib/editor-common.generated 9 | check 10 | generate 11 | prettyprint 12 | refactorings 13 | 14 | rules // Main editor interface (defined by editor/SugarJ-Builders and -References.esv) 15 | -------------------------------------------------------------------------------- /language-libraries/base/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /language-libraries/base/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /language-libraries/base/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | output.. = bin/ 3 | bin.includes = META-INF/,\ 4 | .,\ 5 | plugin.xml,\ 6 | src/,\ 7 | schema/ 8 | -------------------------------------------------------------------------------- /language-libraries/base/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /language-libraries/fomega/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /language-libraries/fomega/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /language-libraries/fomega/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | output.. = bin/ 3 | bin.includes = META-INF/,\ 4 | .,\ 5 | plugin.xml,\ 6 | src/ 7 | -------------------------------------------------------------------------------- /language-libraries/fomega/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /language-libraries/fomega/src/org/sugarj/fomega/initGrammar.sdf: -------------------------------------------------------------------------------- 1 | module org/sugarj/fomega/initGrammar 2 | imports org/sugarj/languages/SugarFomega 3 | org/sugarj/stdlib/Common -------------------------------------------------------------------------------- /language-libraries/fomega/src/org/sugarj/fomega/initTrans.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/fomega/initTrans 2 | imports org/sugarj/stdlib/StdTrans 3 | org/sugarj/languages/SugarFomega -------------------------------------------------------------------------------- /language-libraries/fomega/src/org/sugarj/languages/SugarFomega.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/languages/SugarFomega 2 | imports org/sugarj/languages/Sugar 3 | 4 | signature constructors 5 | CompilationUnit : FomegaModuleDec * List(FomegaImport) * List(FomegaOrSugarDec) -> SugarCompilationUnit 6 | ModuleDec : FomegaMID -> FomegaModuleDec 7 | FomegaBody : List(FomegaDef) -> FomegaOrSugarDec 8 | ExtensionBody : List(ExtensionElem) -> FomegaOrSugarDec 9 | -------------------------------------------------------------------------------- /language-libraries/haskell/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /language-libraries/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 | -------------------------------------------------------------------------------- /language-libraries/haskell/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | output.. = bin/ 3 | bin.includes = META-INF/,\ 4 | .,\ 5 | plugin.xml,\ 6 | src/ 7 | -------------------------------------------------------------------------------- /language-libraries/haskell/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /language-libraries/haskell/src/org/sugarj/haskell/initGrammar.sdf: -------------------------------------------------------------------------------- 1 | module org/sugarj/haskell/initGrammar 2 | imports org/sugarj/languages/SugarHaskell 3 | org/sugarj/stdlib/Common -------------------------------------------------------------------------------- /language-libraries/haskell/src/org/sugarj/haskell/initTrans.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/haskell/initTrans 2 | imports org/sugarj/stdlib/StdTrans 3 | org/sugarj/languages/SugarHaskell -------------------------------------------------------------------------------- /language-libraries/haskell/src/org/sugarj/languages/Haskell-orig.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/language-libraries/haskell/src/org/sugarj/languages/Haskell-orig.def -------------------------------------------------------------------------------- /language-libraries/java/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /language-libraries/java/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /language-libraries/java/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | output.. = bin/ 3 | bin.includes = META-INF/,\ 4 | .,\ 5 | plugin.xml,\ 6 | src/ 7 | -------------------------------------------------------------------------------- /language-libraries/java/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /language-libraries/java/src/org/sugarj/java/init/InitTrans.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/java/init/InitTrans 2 | imports org/sugarj/stdlib/StdTrans 3 | org/sugarj/languages/SugarJ 4 | org/sugarj/java/EditorServiceExtension 5 | org/sugarj/java/Renaming 6 | -------------------------------------------------------------------------------- /language-libraries/java/src/org/sugarj/java/init/initGrammar.sdf: -------------------------------------------------------------------------------- 1 | module org/sugarj/java/init/initGrammar 2 | imports org/sugarj/languages/Java 3 | org/sugarj/languages/SugarJ 4 | org/sugarj/stdlib/Common -------------------------------------------------------------------------------- /language-libraries/prolog/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /language-libraries/prolog/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /language-libraries/prolog/build.properties: -------------------------------------------------------------------------------- 1 | source.. = src/ 2 | bin.. = bin/ 3 | bin.includes = META-INF/,\ 4 | .,\ 5 | plugin.xml,\ 6 | src/ 7 | src.includes = src/org/sugarj/languages/,\ 8 | src/org/sugarj/prolog/init/ 9 | -------------------------------------------------------------------------------- /language-libraries/prolog/plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /language-libraries/prolog/src/org/sugarj/languages/SugarProlog.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/languages/SugarProlog 2 | imports org/sugarj/languages/Sugar 3 | signature constructors 4 | CompilationUnit : SugarModuleDec * List(PrologModuleImport) * ExtensionBody -> CompilationUnit 5 | CompilationUnit : PrologProgram -> SugarCompilationUnit 6 | SugarModuleDec : String -> SugarModuleDec 7 | ExtensionBody : SugarDef -> ExtensionBody 8 | -------------------------------------------------------------------------------- /language-libraries/prolog/src/org/sugarj/prolog/init/InitTrans.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/prolog/init/InitTrans 2 | imports org/sugarj/stdlib/StdTrans 3 | org/sugarj/languages/SugarProlog -------------------------------------------------------------------------------- /language-libraries/prolog/src/org/sugarj/prolog/init/initGrammar.sdf: -------------------------------------------------------------------------------- 1 | module org/sugarj/prolog/init/initGrammar 2 | imports org/sugarj/languages/Prolog 3 | org/sugarj/languages/SugarProlog 4 | org/sugarj/stdlib/Common -------------------------------------------------------------------------------- /stdlib/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /stdlib/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse with spaces only 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /stdlib/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | javac `find . -name *.java` 4 | -------------------------------------------------------------------------------- /stdlib/failure-trans.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/stdlib/failure-trans.jar -------------------------------------------------------------------------------- /stdlib/org/sugarj/languages/EditorServices.tbl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/stdlib/org/sugarj/languages/EditorServices.tbl -------------------------------------------------------------------------------- /stdlib/org/sugarj/languages/Model.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/languages/Model 2 | 3 | signature constructors 4 | TransApp : TransformationExpr * TransformationExpr -> TransformationExpr 5 | TransformationDef : x * y -> z 6 | -------------------------------------------------------------------------------- /stdlib/org/sugarj/languages/Plain.str: -------------------------------------------------------------------------------- 1 | module org/sugarj/languages/Plain 2 | 3 | signature 4 | constructors 5 | PlainDec : PlainDecHead * PlainBody -> ToplevelDeclaration 6 | PlainDecHead : list(AnnoOrSugarMod) * JavaId * Some(JavaID) -> PlainDecHead 7 | PlainBody : PlainContent -> PlainBody 8 | -------------------------------------------------------------------------------- /stdlib/org/sugarj/languages/Sdf2.tbl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/stdlib/org/sugarj/languages/Sdf2.tbl -------------------------------------------------------------------------------- /stdlib/org/sugarj/languages/Stratego.sugj: -------------------------------------------------------------------------------- 1 | package org.sugarj.languages; 2 | 3 | public native sugar Stratego = org/sugarj/languages/Stratego; 4 | -------------------------------------------------------------------------------- /stdlib/org/sugarj/languages/Stratego.tbl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seba--/sugarj/1ac5018cbccb248d9116cb59d43c7da0f8d49262/stdlib/org/sugarj/languages/Stratego.tbl --------------------------------------------------------------------------------