Files
linguist/samples/Rascal/Analyze.rsc
Ahmad Salim Al-Sibahi 4e6e58a099 Added Example Rascal files
2016-11-29 23:37:34 +01:00

11 lines
254 B
Plaintext

module Analyze
import Syntax;
set[Id] unreachable(Machine m) {
r = { <q1,q2> | (State)`state <Id q1> <Trans* ts>` <- m.states,
(Trans)`<Id _>: <Id q2>` <- ts }+;
qs = [ q.name | /State q := m ];
return { q | q <- qs, q notin r[qs[0]] };
}