Exemple #1
0
print "import _input"
from dragonfly import *
import input_conversion as conv
import Base
import inspect

grammar = Base.ContinuousGrammar("input elements and sequences grammar")


#decorator
def GrammarRule(rule):
    if inspect.isclass(rule):
        if issubclass(rule, Base.BaseQuickRules):
            rule(grammar)
        else:
            grammar.add_rule(rule())
    else:
        grammar.add_rule(rule)


@GrammarRule
class NumbersRule(Base.ContinuousRule):
    spec = "digits <digits>"
    extras = (Repetition(Choice("digit", choices=conv._digits), name="digits", min=1, max=50),)
    def _process_recognition(self, node, extras):
        digits = map(str, extras["digits"])
        Text("".join(digits)).execute()


grammar.load()
Exemple #2
0
from dragonfly import *
import Base
import inspect

context = AppContext(executable="python", title="AciCompiler ~~")
grammar = Base.ContinuousGrammar("AciCompiler grammar", context=context)


#decorator
def GrammarRule(rule):
    if inspect.isclass(rule):
        if issubclass(rule, Base.BaseQuickRules):
            rule(grammar)
        else:
            grammar.add_rule(rule())
    else:
        grammar.add_rule(rule)


@GrammarRule
class AciCompilerShortcutsRule(Base.QuickContinuousRules):
    mapping = {
        "hot word": Key("a-h"),
        "skip word": Key("a-k"),
        "save words": Key("a-s"),
        "add [new] words": Key("a-a"),
        "order": Key("a-v, o"),
        "work file": Key("a-v, w"),
        "plat map": Key("a-v, p"),
        "import notes": Key("a-v, i"),
        "realist [records]": Key("a-v, r"),
Exemple #3
0
from dragonfly import *
import Base
import inspect
from chajLib.ui import docnav

grammar = Base.ContinuousGrammar("text buffer manipulations grammar")


#decorator
def GrammarRule(rule):
    if inspect.isclass(rule):
        if issubclass(rule, Base.BaseQuickRules):
            rule(grammar)
        else:
            grammar.add_rule(rule())
    else:
        grammar.add_rule(rule)


@GrammarRule
class CaretCalls(Base.QuickContinuousCalls):
    mapping = [
        ["after left <RunOn>", docnav.caret_after_left, "target"],
        ["after right <RunOn>", docnav.caret_after_right, "target"],
        ["before left <RunOn>", docnav.caret_before_left, "target"],
        ["before right <RunOn>", docnav.caret_before_right, "target"],
    ]


@GrammarRule
class SelectCalls(Base.QuickContinuousCalls):