diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /web/yacco2/qa/TS_la7.lex |
Initial commit
Diffstat (limited to 'web/yacco2/qa/TS_la7.lex')
-rw-r--r-- | web/yacco2/qa/TS_la7.lex | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/web/yacco2/qa/TS_la7.lex b/web/yacco2/qa/TS_la7.lex new file mode 100644 index 0000000000..e0c50e00cf --- /dev/null +++ b/web/yacco2/qa/TS_la7.lex @@ -0,0 +1,65 @@ +/* +$echo FILE: TS_la7.lex +$echo Purpose: test la expr with nested rule references in Rminus_la 'eolr - Rminus_la' +$echo Okay +*/ +fsm +(fsm-id "TS_la7.lex",fsm-filename TS_la7,fsm-namespace NS_TS_la7 +,fsm-class CTS_la7 +,fsm-version "1.0" ,fsm-date "17 Juin 2003",fsm-debug "true" +,fsm-comments "end-of-line recognizer") +parallel-parser +( + parallel-thread-function + TH_TS_la7 + *** + parallel-la-boundary + eolr - Rminus_la + *** +) +@"/usr/local/yacco2/compiler/grammars/yacco2_T_includes.T" + +rules{ +Reol AD AB(){ + -> Rdelimiters +} + + +Rdelimiters AD AB() +{ + -> "x0a" + -> "x0d" |.| + -> "x0d" "x0a" +} +Rminus_la AD AB() { + -> "_" + -> "-" + -> RUPPER_A_M + -> RUPPER_N_Z + -> Rlower_a_m + -> Rlower_n_z + -> RNUMBERS +} + +RUPPER_A_M AD AB (){ + -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M +} + +RUPPER_N_Z AD AB (){ + -> N -> O -> P -> Q + -> "R" // considered a Rule when not quoted! + -> S -> T -> U -> V -> W -> X -> Y -> Z +} + +Rlower_a_m AD AB (){ + -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m +} + +Rlower_n_z AD AB (){ + -> n -> o -> p -> q -> r -> s -> t -> u -> v -> w -> x -> y -> z +} + +RNUMBERS AD AB (){ + -> 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 +} +}// end of rules |