o2linker(1) o2linker(1) NNAAMMEE o2linker -- o2's companion program to link together all your threaded grammars. SSYYNNOOPPSSIISS [ file containing listing of all grammars fsc files ] OOPPTTIIOONNSS If no fsc type file is inputted, o2linker will ask for one. This file is hand written by the compiler writer and contains a list of all the emitted grammars fsc files. See ````//uussrr//llooccaall//yyaaccccoo22//ccoommppiilleerr//ggrraamm-- mmaarrss//yyaaccccoo22..ffsscc'''' file as an example to write your own fsc file. DDEESSCCRRIIPPTTIIOONN oo22lliinnkkeerr emits the ``thread bit'' map object file required for your compiler to reference the threaded grammars. Then all your object files are inputted for the system linker lldd to make an executable pro- gram of your compiler. Please read ````//uussrr//llooccaall//yyaaccccoo22//ccoomm-- ppiilleerr//oo22//bblldd__bbaasshh__AAPPPPLLEE'''' script paying particular attention to the ld script line detailing the objects and libraries used. This should guide u in creating your own ``fsc'' type file. ````oo22lliinnkkeerr oouuttppuutteedd ffiilleess'''' thread bit map c++ code Pdf document: oo22lliinnkkeerr__ddoocc..ppddff cross reference of all your grammars defined and their referenced threads EEXXAAMMPPLLEESS 1) Creating o2's threads bit map cd /usr/local/yacco2/compiler/grammars /usr/local/yacco2/bin/o2linker yacco2.fsc SSEEEE AALLSSOO bbyy mmaann yyaaccccoo22((11)),, oo22((11)),, CCWWEEBB((11)),, ccwweeaavvee((11)),, ccttaannggllee((11)),, mmppoosstt((11)),, TTeeXX((11)) In //uussrr//llooccaall//yyaaccccoo22//ddooccss// o2linker.pdf -- linker documentated ``literate program'' o2linker_doc.pdf -- example of o2/o2linker's grammars cross reference document produced by o2linker o2book.pdf -- reference manual In //uussrr//llooccaall//yyaaccccoo22//ccoommppiilleerr//ggrraammmmaarrss yacco2.fsc -- example of handcrafted input file of yacco2's grammars for o2linker digestion. These grammars are used by o2 and o2linker programs. In //uussrr//llooccaall//yyaaccccoo22// READMEvx.y.pdf - installation guide where x: version number and y: minor adjustment number gives a more detailed explanation. bld_bash_APPLE -- install script referencing other scripts building libraries and programs. In //uussrr//llooccaall//yyaaccccoo22//oo22lliinnkkeerr and //uussrr//llooccaall//yyaaccccoo22//ccoommppiilleerr//oo22 bld_bash_APPLE -- script to create a program using libraries yacco2, pthread, and c++. NNOOTTEE The bld_bash_APPLE script is used as an example. There are other bash scripts for GGNNUU and SSOOLLAARRIISS.. See READMEvx.y.pdf. OOTTHHEERR LLIINNKKSS wwwwww..ttuugg..oorrgg -- website to download the CCWWEEBB "Literate programming" system, _m_p_o_s_t Metapost graphics program and possibly the TTeeXX typesetting system. These are open source. Please consider joining TTuugg.. AAUUTTHHOORR Dave Bone 1.0 o2linker(1)