Parser für Anfragesprache
Parser für die Anfragesprache von @lSoleyl: (Commit f3e46a311ca81e827d3cf935423e262def291a2e). In dem Testscript könnt ihr euch angucken, wie der funktioniert.
Bsp-Code:
var Requests = require("./request-logic")
var input = 'All women who are younger than 20 OR all men who are older than 20'
var parseTree = Requests.parse(input) //Eingabestring -> Tree
Requests.translateTree(parseTree, function(err, requestList) { //Tree -> FacebookURLs
console.log("Resolved into following requests:")
requestList.forEach(function (request) { console.log(request) })
})
Ausgabe
Resolved into following requests:
/males/20/users-older/intersect
/females/20/users-younger/intersect
Seit 8559faab68730889b4f6c9f9d2ba9d5ddfc36076 löst der Code jetzt auch Namen zu ID's auf. Dazu wird das Script lib/graph.js
verwendet. Dieses stellt die eigentlichen Anfragen an Facebook.
Das Script /backend/nodejs/testparser.js
kann jederzeit gestartet werden (Sofern die notwendigen Node-Module installiert sind). Es enthält einige auskommentierte, gültige Beispielanfragesätze, die benutzt werden können, um sich die Arbeitsweise des Parsers etwas zu verdeutlichen.
Des weiteren ist der Parser-Code und das test-script mit ausreichend Kommentaren versehen, um die Funktionsweise auch im Detail nachzuvollziehen.