Javacc für CSP

kutamn

Grünschnabel
Hallo zusammen,

ich muss CSP Grammatik für Javacc definieren. Da muss ich externe und interne choice, prefix berücksichtigen.
Der Parser muss mindestens solche Sachen kennen. zB:
------------- Spec 1 ------------------
channel in,out: Int

P = in?x -> in?y -> out!(x+y) -> P

------------- Spec 2 ------------------
channel in,out: Bool

P = in?x -> out!x -> P

------------- Spec 3 ------------------
channel add, sub
channel result: {0..2}

P(0) = add -> result.1 -> P(1)
P(1) = add -> result.2 -> P(2)
[] sub -> result.0 -> P(0)
P(2) = sub -> result.1 -> P(1)

------------- Spec 4 ------------------
channel accept, print, shutdown

PRINTER = (accept -> print -> SKIP
[] shutdown -> SKIP)
|~| error -> STOP


Hier weiss ich nicht, wie ich mein Semantik überprüfen soll? zB: ob Input in?x richtige Typ ist? ob result das richtige Parameter hat...

Es wäre perfekt, wenn es fertige Parser für CSP gibt.

Kann jemand mir helfen, wie ich solche Sachen machen kann oder wo ich solche Sachen finden kann ?
Was ich gemacht habe, ist ganz kompliziert und weiss nicht ob ich richtig gemacht habe.
 
Zurück