[{"data":1,"prerenderedAt":382},["ShallowReactive",2],{"project-6572349":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":57,"maker_in_thread":122,"shape":133,"grid":138,"attempts":345,"same_week":346,"maker_shows":39,"maker_hidden":374,"reader_version":375,"card":376},"6572349","Turbo Pascal compiler in JavaScript","My Turbo Pascal compiler in JavaScript","title","Show HN: My Turbo Pascal compiler in JavaScript","http:\u002F\u002Fwww.teamten.com\u002Flawrence\u002Fprojects\u002Fturbo_pascal_compiler\u002Fdemo\u002F","teamten.com","lkesteloot",1382114766,2013,101,81,227,1739,14,"notable","languages","compiler","web_app",[24,25,26,27],"turbo pascal","pascal compiler","javascript compiler","browser ide","loved",0.626,{"positive":18,"neutral":31,"mixed":32,"critical":33},3,2,0,19,{"execution":36,"docs":37,"idea":38,"performance":40,"design":41},{"positive":33,"critical":33},{"positive":32,"critical":33},{"positive":39,"critical":33},1,{"positive":39,"critical":33},{"positive":39,"critical":33},[31,33,33,33,33,33,33,33,33,33,33,33,33,33,33,43,43,43,33,31,43,43,43,43,43,33,33,43,31,31,33,33,33,33,33,33,31,33,33,43],5,null,{"problem":44,"audience":44,"pricing":44,"motivation":44,"time_to_build":44,"stack":46,"openness":54,"stage":55,"team_size":56},[47],{"value":48,"source":49,"evidence":50},"JavaScript","maker",[51],{"id":52,"by":11,"text":53},"6574655","Thanks! The code is on GitHub: https:\u002F\u002Fgithub.com\u002Flkesteloot\u002Fturbopascal It's a two-pass compiler. The first pass runs the code through the Stream, Lexer, and Parser classes to…","open_source","launched","solo",{"praise":58,"objections":83,"requests":91,"questions":99,"alternatives":110},[59],{"value":60,"source":61,"evidence":62},"Nostalgia for Turbo Pascal and fast compilation","commenter",[63,67,71,75,79],{"id":64,"by":65,"text":66},"6573092","ret","Your project is great, Pascal is really underrated language. I looked at parser (hand written are best), this part spotted my eyes…",{"id":68,"by":69,"text":70},"6573879","soapdog","OMG!!! That was my favorite TP. I learned to program using Turbo Pascal. Congratulations on your work and thanks for the nostalgia!",{"id":72,"by":73,"text":74},"6573952","optymizer","Pascal, my childhood love. I spent so many days in TP 7.1 coding games with the graph library! At some point I made a GUI for DOS, similar to Windows Explorer (with a desktop,…",{"id":76,"by":77,"text":78},"6573067","paulrademacher","The examples compile super fast. How long did it use to take?",{"id":80,"by":81,"text":82},"6573484","kristiandupont","..Turbo Pascal was sort of shocking, since it basically did everything that IBM Pascal did, only it ran in about 33K of memory including the text editor. This was nothing short…",[84],{"value":85,"source":61,"evidence":86},"Hard to imagine using it without DOS-era libraries",[87],{"id":88,"by":89,"text":90},"6572883","pjbrunet","Seriously cool. But I can't imagine ever using it ;-) Half the fun of TP was all the libraries, like to interface Souldblaster, modems, etc. All that stuff is long gone.",[92],{"value":93,"source":61,"evidence":94},"Commenter asked for an overview of compiler components to study",[95],{"id":96,"by":97,"text":98},"6574334","sina","Great work, well done! Pascal was the second language I learned, after Basic. I'm interested in studying the code and possibly replicating it for the purpose of learning about…",[100],{"value":101,"source":61,"evidence":102},"Does it support a Compile option producing COM or EXE files",[103,107],{"id":104,"by":105,"text":106},"6572898","efutch","Nice, no Compile option though? Is it an interpreter? I tried a Hello, World, and the (Input,Output) after the program name choked it. Nice job!",{"id":108,"by":11,"text":109},"6572955","The \"Compile\" option was, I think, for when you wanted to generate a .COM or .EXE. So I don't support that. The \"Run\" command does compile and run, though.",[111,118],{"value":112,"source":61,"evidence":113},"UCSD Pascal",[114],{"id":115,"by":116,"text":117},"6573711","acqq","I remember that differently: on Z80 CPU machines, UCSD Pascal was slow. It compiled to the p-code (it was both an \"operating system and compiler\" and they wanted it portable). On…",{"value":119,"source":61,"evidence":120},"Microsoft Pascal",[121],{"id":115,"by":116,"text":117},{"comments":123,"answered":124,"key":125},11,4,[126,129,132],{"id":127,"text":128},"6573385","Well the error message is confusing (it's trying to cast from an integer (type 70) to a procedure (type 76)), but it's correct to fail to compile. But yeah I'm not sure that my…",{"id":130,"text":131},"6577342","I agree, the manuals were great. (Though I bought them again on eBay for this project and they actually contained a lot of errors!) But also the floppy came with sample programs,…",{"id":52,"text":53},{"commenters":134,"max_depth":135,"maker_replies":123,"first_comment_mins":136,"lifespan_hours":137},39,12,62,29,[139,141,143,147,150,153,157,159,161,164,167,169,172,174,177,179,181,183,186,189,192,195,197,199,201,203,205,207,210,213,215,219,221,225,228,229,230,233,235,237,240,244,247,248,250,253,257,260,262,264,268,271,273,275,278,280,283,287,289,292,295,296,299,301,302,304,306,308,311,313,315,317,319,321,323,325,326,329,331,336,341],[64,33,31,140,65,33],"project\u002Fmixed\u002Fexecution",[127,33,33,142,11,39],"maker\u002Fneutral\u002Fexecution",[144,39,33,145,146,33],"6573766","other\u002Fneutral\u002Fnone","pjmlp",[148,39,33,145,149,33],"6573889","pmelendez",[151,39,33,145,152,33],"6573965","lucian1900",[154,39,33,155,156,33],"6576333","commenter\u002Fcritical\u002Fnone","waps",[158,39,33,155,146,33],"6576503",[160,39,33,145,146,33],"6574082",[162,39,33,145,163,33],"6574246","10098",[165,39,33,166,146,33],"6575562","commenter\u002Fneutral\u002Fnone",[168,39,33,166,163,33],"6575600",[170,39,33,166,171,33],"6575656","jk4930",[173,39,33,145,163,33],"6575694",[175,39,33,145,176,33],"6575816","vidarh",[178,39,33,166,77,33],"6575891",[180,39,33,145,176,33],"6577300",[182,39,33,145,146,33],"6578017",[184,39,33,145,185,33],"6576009","lazyjones",[187,39,33,145,188,33],"6574357","kaoD",[190,39,33,145,191,33],"6575057","JasonFruit",[193,39,33,145,194,33],"6575476","telephonetemp",[196,39,33,145,146,33],"6575568",[198,39,33,145,188,33],"6576006",[200,39,33,145,146,33],"6576507",[202,39,33,145,188,33],"6576600",[204,39,33,145,146,33],"6576818",[206,39,33,145,65,33],"6574126",[208,39,33,145,209,33],"6576191","p0nce",[211,39,33,145,212,33],"6576269","kabdib",[214,39,33,145,146,33],"6576472",[216,32,43,217,218,33],"6575499","project\u002Fpositive\u002Fdocs","analog31",[130,32,33,220,11,39],"maker\u002Fneutral\u002Fdocs",[222,31,43,223,224,33],"6573933","project\u002Fpositive\u002Fnone","cek",[226,31,33,145,227,33],"6574472","mseepgood",[72,124,43,223,73,33],[68,43,43,223,69,33],[231,43,33,145,232,33],"6574842","FYI",[234,43,33,145,89,33],"6575294",[236,43,33,145,146,33],"6575581",[88,238,31,239,89,33],6,"project\u002Fmixed\u002Fidea",[241,242,43,243,191,33],"6572933",7,"project\u002Fpositive\u002Fperformance",[96,245,43,246,97,33],8,"maker\u002Fpositive\u002Fdocs",[52,245,33,220,11,39],[249,245,43,223,77,33],"6574780",[251,245,33,252,11,39],"6574812","maker\u002Fneutral\u002Fnone",[254,255,43,223,256,33],"6572769",9,"ChuckMcM",[258,255,43,223,259,33],"6572797","danieldk",[261,255,33,145,256,33],"6572845",[263,255,33,145,116,33],"6573145",[265,266,43,223,267,33],"6573706",10,"pjmorris",[269,266,33,270,11,39],"6573883","maker\u002Fneutral\u002Fidea",[272,266,33,166,176,33],"6574859",[274,266,33,166,267,33],"6577341",[276,266,33,145,277,33],"6575132","MilesTeg",[279,266,33,145,146,33],"6575952",[281,123,43,223,282,33],"6577629","fit2rule",[284,135,31,285,286,33],"6576485","project\u002Fneutral\u002Fdesign","ooooak",[288,135,33,252,11,39],"6577335",[76,290,31,291,77,33],13,"project\u002Fneutral\u002Fperformance",[293,290,33,294,11,39],"6573351","maker\u002Fneutral\u002Fperformance",[80,290,33,145,81,33],[297,290,33,145,298,33],"6573558","corysama",[300,290,33,145,176,33],"6573606",[115,290,33,166,116,33],[303,290,33,166,224,33],"6573979",[305,290,33,145,176,33],"6574836",[307,290,33,145,176,33],"6575817",[309,290,33,145,310,33],"6575614","cpeterso",[312,290,33,145,176,33],"6573580",[314,290,33,291,11,39],"6573924",[316,290,33,145,146,33],"6575948",[318,290,33,145,176,33],"6577370",[320,290,33,145,146,33],"6577979",[104,18,31,322,105,33],"project\u002Fneutral\u002Fexecution",[324,18,33,322,11,39],"6572942",[108,18,33,322,11,39],[327,18,33,166,328,33],"6573319","dugmartin",[330,18,33,166,11,39],"6573355",[332,333,43,334,335,33],"6573478",15,"project\u002Fpositive\u002Fidea","pan69",[337,338,43,339,340,33],"6574140",16,"project\u002Fpositive\u002Fdesign","kirkthejerk",[342,343,43,223,344,33],"6574604",17,"bowerbird",[],[347,352,357,361,365,369],{"id":348,"name":349,"points":350,"category":351},"6567967","copy.sh x86 emulator",765,"dev_tools",{"id":353,"name":354,"points":355,"category":356},"6598441","Sketchology",212,"creative",{"id":358,"name":359,"points":360,"category":20},"6588802","Unirest",174,{"id":362,"name":363,"points":364,"category":20},"6569690","WordsForThat.com",151,{"id":366,"name":367,"points":368,"category":20},"6578584","YinYang",134,{"id":370,"name":371,"points":372,"category":373},"6564878","Food News",84,"consumer_social",false,"v2",{"id":377,"name":5,"line":6,"ai":374,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":378,"top":18,"kw":379,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":380,"url":9,"mix":381,"praise":60,"objection":85,"sub":21},6572349,0.63,[24,25,26,27],"3000000000000005550355555005330000003005",[18,31,32,33],1793990898665]