Grammalecte  Check-in [dc40a55790]

Overview
Comment:[build] darg builder: group selection + definition
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | build | rg
Files: files | file ages | folders
SHA3-256: dc40a557905303ebdaf88e9eb2914f6e3d7bdff5289f0f8033149d552fe14957
User & Date: olr on 2018-06-18 04:58:44
Other Links: branch diff | manifest | tags
Context
2018-06-18
07:01
[build] darg builder: optional tokens check-in: e3fd3fda28 user: olr tags: build, rg
04:58
[build] darg builder: group selection + definition check-in: dc40a55790 user: olr tags: build, rg
04:56
[fr] missing rule check-in: dce37dbe96 user: olr tags: fr, rg
Changes

Modified compile_rules_graph.py from [41b10d39af] to [04c9d15dc9].

35
36
37
38
39
40
41


42
43
44
45
46
47
48
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50







+
+









def genTokenLines (sTokenLine, dDef):
    "tokenize a string and return a list of lines of tokens"
    lToken = sTokenLine.split()
    lTokenLines = None
    for i, sToken in enumerate(lToken):
        if sToken.startswith("({") and sToken.endswith("})") and sToken[1:-1] in dDef:
            sToken = "(" + dDef[sToken[1:-1]] + ")"
        if sToken.startswith("{") and sToken.endswith("}") and sToken in dDef:
            sToken = dDef[sToken]
        if ( (sToken.startswith("[") and sToken.endswith("]")) or (sToken.startswith("([") and sToken.endswith("])")) ):
            bSelectedGroup = sToken.startswith("(") and sToken.endswith(")")
            if bSelectedGroup:
                sToken = sToken[1:-1]
            # multiple token