//*** Build With // java demeterf http.cd http.beh ./classes/ --dgp:PrintToString \ // && cp modified_parser.jj classes/theparser.jj \ // && javacc -OUTPUT_DIRECTORY=classes classes/theparser.jj package edu.neu.ccs.demeterf.http.classes; import edu.neu.ccs.demeterf.lib.*; import System.Net.Sockets.*; import System.Text.*; import System.IO.*; //** HTTP stuff is all line based, so it gets a little hairy to parse. // HTTP Request. We use "ident" to eliminate the syntax, but the header // and bodies will be parsed separately. noparse HTTPReq = HTTPHead List(MsgHead) *r*l ident. // HTTP Response. Similar, but slightly different. noparse HTTPResp = HTTPVer *s int *s