BlattWerkzeug
latest

For Users

  • Core Concepts
    • Block & Programming Languages
    • Projects

For Language Creators

  • The Abstract Syntax Tree
    • Data Structure
    • JSON-representation and datatype definition
    • Visual & textual examples
  • Grammars by Example
    • The traditional approach
    • The BlattWerkzeug approach
      • Example AST: if-Statement
    • Grammar Examples
      • XML
    • Grammar Visualization
  • Grammar Reference
    • Relationship to RelaxNG
    • Top level type definitions
    • Top level: node
    • Property Restrictions
      • boolean
      • integer
      • string
    • Children Restrictions
      • Childgroup Type sequence
      • Childgroup Type allowed
      • Limitation: No mixed groups
    • Top level: typedef
  • Builtin Grammars
    • SQL
    • Trucklino Program
    • JSON
    • CSS
    • Dynamic XML
  • Block Languages
    • Design Choices, Hacks, Shortcomings and Caveats
      • Virtual Root
      • Properties or Blocks
      • Blockly Backend: (Inline) Values are not meant to be continued
      • Blockly Backend: All or none continuation
      • Blockly Backend: All or none inline

For Programmers

  • Project Structure
  • Compilation Guide
    • Environment Dependencies
      • SQLite and PCRE
      • DNS and Subdomains
      • PostgreSQL
      • Environment Variables
    • Compiling and Running
      • Running locally
      • Running via Docker
      • Frequent Issues and Error messages
  • Programming Guidelines
    • Code formatting
    • Typical development setup
    • Tests, the CI-server and code coverage
      • Client side testing
      • Server side testing
    • Description files and JSON schema
      • Updating schemas
      • Rules for description.ts files
      • Using JSON schema to validate client requests
      • Using JSON schema to validate server responses
      • Using JSON schema to validate models
    • Loading and storing seed data
    • Interactive Debugging
      • Client Application
      • Client Tests
  • Configuration Guide
    • Environments and Settings
      • Storage
    • Server side rendering
    • Backing up and seeding data
    • Example configuration files
      • sqlino.yml at server/conf
      • database.yml at server/conf
      • Example systemd configuration
      • Example nginx configuration
  • Seed Manager
    • Store Procedure
      • Naming Convention and necessary configuration
      • Call to store a seed
      • Store all seed of a seed class
    • Load procedure
      • Upsert seed data
      • Load all seed data of a seed class

Design Documents

  • The Online Platform
    • Types of Users
    • Inspiration
    • Technical Requirements
  • AST and Grammar Design Discussion
    • Structural and Visual Aspects
      • Example grammars (whithout visual aspects)
      • Example XML grammar (with terminal symbols, current state)c
      • Idea: Seperate definition for “Visual Grammar”
      • Merging grammars
    • Linked Trees
    • Drop Target Resolution
      • Implemented drop strategies
      • Common drop problems and ambiguities
      • Dealing with ambiguity
    • Structural Tree Choices
BlattWerkzeug
  • Docs »
  • Search
  • Edit on Bitbucket


Revision 81fda8b8.

Built with Sphinx using a theme provided by Read the Docs.