SMC

Fork of State Machine Compiler (SMC). It generates state machines.

License

License

GroupId

GroupId

uk.camsw.smc
ArtifactId

ArtifactId

smc
Last Version

Last Version

6.4.0
Release Date

Release Date

Type

Type

pom
Description

Description

SMC
Fork of State Machine Compiler (SMC). It generates state machines.
Project URL

Project URL

https://github.com/leonjones1974/smc
Source Code Management

Source Code Management

https://github.com/leonjones1974/smc

Download smc

Filename Size
smc-6.4.0.pom 5 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/uk.camsw.smc/smc/ -->
<dependency>
    <groupId>uk.camsw.smc</groupId>
    <artifactId>smc</artifactId>
    <version>6.4.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/uk.camsw.smc/smc/
implementation 'uk.camsw.smc:smc:6.4.0'
// https://jarcasting.com/artifacts/uk.camsw.smc/smc/
implementation ("uk.camsw.smc:smc:6.4.0")
'uk.camsw.smc:smc:pom:6.4.0'
<dependency org="uk.camsw.smc" name="smc" rev="6.4.0">
  <artifact name="smc" type="pom" />
</dependency>
@Grapes(
@Grab(group='uk.camsw.smc', module='smc', version='6.4.0')
)
libraryDependencies += "uk.camsw.smc" % "smc" % "6.4.0"
[uk.camsw.smc/smc "6.4.0"]

Dependencies

test (1)

Group / Artifact Type Version
junit : junit jar 3.8.1

Project Modules

  • smc-generator
  • smc-model
  • smc-parser
  • smc-core
  • smc-lib-java
  • smc-maven-plugin

State Machine Compiler

This project forked https://github.com/orolle/SMC, primarily so the artifacts are published to maven central

<project>
  ...
  <packaging>jar</packaging>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>com.github.orolle</groupId>
        <artifactId>smc-maven-plugin</artifactId>
        <executions>
           <execution>
              <goals>
                 <goal>smc</goal>
              </goals>
           </execution>
        </executions>
        <configuration>
          <verbose>true</verbose>
          <sync>true</sync>
          ...
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Put your sm-files in the "src/main/smc"-folder of your project root. Compile the sm-files to java-classes through executing "mvn smc:smc". The generated classes are found in "target/generated-sources/smc"-folder. The plugin is in an early and buggy version. Please use it with caution and on your own risk.

To execute the compiled java-classes include the maven dependency in your pom.xml

<dependency>
  <groupId>uk.camsw.smc</groupId>
  <artifactId>smc-lib-java</artifactId>
  <version>6.4.0</version>
</dependency>

For modelling finite state machines with SMC please see http://smc.sourceforge.net/SmcManual.htm A good and dense slide-based tutorial is found here http://smc.sourceforge.net/slides/SMC_Tutorial.pdf

Versions

Version
6.4.0