f2plw languages
Languages are described as data: alphabet, lexemes, a state machine, tables and output templates. Such a language can be put on the canvas as a graph, used to parse text into blocks, generate code and documentation from text, and assemble a project from several files. It runs through a sidecar on the server; the translator never travels to the browser or the agent.
The Code node
Place the node, pick a language from the library, write text.
- Parse into blocks: the text becomes data nodes grouped under the node. The parse lives in the node's namespace, neighbouring parses do not collide, parsing again replaces its own previous result.
- Generate: the language outputs. Pick the destination: blocks nearby, an archive attachment read entry by entry, or a tree in a folder through a write-tree node.
- Build: for languages that lower to C, outputs are compiled and run. At home the server does it; in the cloud only compilation, with the run in a wasm sandbox or through the agent.
- Call an API method: for the API language a source appears nearby that calls a method of the description through the sandbox.
Several people may press buttons at once: the text travels as a snapshot, and a second click on the same node waits for the first.
Project
PLW → project from canvas nodes gathers code nodes in different languages into one project: files merge into one table, error and config constants and API methods are visible to code through bridges. The source can be canvas nodes, an agent directory or a server sandbox directory. Outputs of the host language, project tables on the canvas, or a binary build.
The language library
INI, ACTIONS, DICE, OUTLINE, EXPR, API, ERRORS, CONFIG, LANG, MINIC, MINIOOP and more. PLW → language to canvas places a language as a graph; save language to server edits the library from the canvas: in the cloud each team has its own language sandbox, at home the library is shared.
knw
A database or world schema in the textual knw form parses into a graph of tables and fields, and a graph from the canvas assembles back into text. From knw come schemas, SQL, models and documentation.
Editor and live check
Files in f2plw languages open in the file editor with highlighting by parser state, problems with a position and the list of what was expected, and completion on Ctrl+Space. The chapter "Code on the canvas" explains how it works.
Project meta-language
A description in an f2plw language can be the meta file of a "Project" node: the language generation rules produce project files straight into the agent folder, followed by build jobs and the build chain. See the chapter "Project".
Examples
The Examples page opens 26 ready canvases straight in the app.