wiki:Server/Frontends

Version 4 (modified by lama, 4 years ago) (diff)

--

Front Ends

Front ends filter the input file and produce a token stream. JPlag then analyzes the token stream.

To develop a new front end, have a look at the front end pack.

Pulling Out Front Ends from JPlag

  • the front end files can be found in the subdirectories of jplag/trunk/jplag e.g. java for the Java frontend
  • the new groupId should be edu.kit.ipd.jplag.frontend
  • the new artifactId should be language-version (e.g. java-1.4)
  • the new version should be 0.0.1-SNAPSHOT
  • create a new Java project in Eclipse called jplag.frontend.<artifactId>
  • copy the pom from another front end (copy from java-1.4 for antlr-based front ends and from java-1.5 for JavaCC-based front ends)
  • create directories src/main/java/jplag, src/main/antlr (for antlr-based front ends) or src/main/jjtree (for JavaCC-based front ends)
  • copy the grammar to the grammar directory (antlr or jjtree)
  • copy the other files to src/main/java/jplag (including their proper package directories!)
  • edit pom as necessary (see above)
  • activate m2eclipse (context menu on project > configure > convert to maven project)
  • generate the sources
  • fix errors
  • deploy to our repository
    • context menu on project > team > share
    • SVN
    • use existing repository location
    • Advanced mode: "use project name", "use single project layout"
    • set svn:ignore accordingly (see properties of java-1.4)

Available Front Ends