Coder Social home page Coder Social logo

chatbot-dsl's Introduction

chatbot-DSL

A DSL for chatbot with customer service.

architecture

web

vite+vue+typescript

backend

gin+gRPC+gorm+mysql

processor

python+gRPC

DSL Definition

<number>              ::= "0" | "1" | ... | "9"
<letter>              ::= "A" | "B" | ... "Z" | "a" | "b" | ... | "z"
<identifier>          ::= <letter>+

<float_type>          ::= {"-" | "+"} {<number>} {"."} <number>+ {("e" | "E") {"-" | "+"} <number>+}
<integer_type>        ::= {"-" | "+"} <number>+
<string_type>         ::= < {character} >

<variable_name>       ::= "$" (<letter> | "_")(<letter> | <number> | "_")*
<variable_type>       ::= <variable> ("Int" <integer_type> | "Float" <real_type> | "Text" <string_type>)
<variable_definition> ::= "Variable" <variable_type>+

<conditions>          ::= <length_condition> | <contains_condition> | <type_condition> | <string_condition>
<length_condition>    ::= "Length" ("<" | ">" | "<=" | ">=" | "==") <integer_type>
<contain_condition>   ::= "Contains" <string_type>
<type_condition>      ::= "Type" ("Int" | "Float")
<string_condition>    ::= <string_type>

<goto_action>         ::= "Goto" <identifier>
<update_float>        ::= ("Add" | "Sub" | "Set") (<float_type> | "Input")
<update_string>       ::= "Set" (<string_type> | "Input")
<update_action>       ::= "Update" <variable_name> (<update_float> | <update_string>)
<speak_content>       ::= <variable_name> | <string_type>
<speak_action>        ::= "Speak" <speak_content> {"+" <speak_content>}
<speak_action_Input>  ::= "Speak" (<speak_content> | "Input") {"+" (<speak_content> | "Input")}
<exit_action>         ::= "Exit"

<case_clause>         ::= "Case" <conditions> {<update_action> | <speak_action_input>} [<exit_action> <goto_action>]
<default_clause>      ::= "Default" {<update_action> | <speak_action_input>} [<exit_action> <goto_action>]
<timer_clause>        ::= "Timer" <integer_type> {<update_action> | <speak_action>} [<exit_action> <goto_action>]
<state_definition>    ::= "State" <identifier> ["Verified"] {<speak_action>} {<case_clause>} <default_clause> {<timer_clause>}
<language>            ::= {<state_definition> | <variable_definition>}

chatbot-dsl's People

Contributors

arycra07 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.