Skip to content

Parser für Anfragesprache

lSoleyl edited this page Nov 20, 2014 · 6 revisions

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.

Testen

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.