ให้การวิเคราะห์เล็กซิง/การแยกวิเคราะห์และการวิเคราะห์แบบคงที่ในช่วงต้นของรหัส FORTRAN มาตรฐาน Fortran ต่อไปนี้ได้รับการคุ้มครอง:
การแยกวิเคราะห์สามารถกำหนดค่าได้และคุณสามารถเลือกมาตรฐาน FORTRAN เพื่อกำหนดเป้าหมายรวมถึงโหมดขยายพิเศษสำหรับ FORTRAN 77 ที่ไม่ใช่มาตรฐาน
รวมถึงการไหลของข้อมูลและการวิเคราะห์บล็อกขั้นพื้นฐานการวิเคราะห์ใหม่และการวิเคราะห์ประเภท
แพ็คเกจนี้ส่วนใหญ่ส่งออกไลบรารี Haskell แต่ยังสร้างการปฏิบัติการที่สามารถใช้สำหรับการทดสอบและการดีบัก ตัวอย่างเช่นการใช้งานดูโครงการ Camfort ซึ่งใช้ Fortran-SRC เป็นส่วนหน้า
เราให้บริการไบนารี prebuilt สำหรับ Windows, Mac และ Linux
เพิ่ม fortran-src เป็นการพึ่งพาในโครงการ Haskell ของคุณ เรากำลังแฮ็คและยังอยู่ใน Stackage
คุณยังสามารถเรียกใช้ fortran-src บนบรรทัดคำสั่ง
สำหรับคุณสมบัติที่กราฟเอาท์พุทการใช้งานที่ตั้งใจไว้คือการส่งไปยังท่อลงในคำสั่ง dot -Tpdf และเปลี่ยนเส้นทางไปยังไฟล์ PDF คำสั่ง dot เป็นส่วนหนึ่งของโครงการ GraphViz โปรดดูคู่มือของพวกเขาสำหรับตัวเลือกอื่น ๆ อีกมากมายที่สามารถสำรวจเพื่อวัตถุประสงค์ในการสร้างภาพ
Usage: fortran-src [OPTION...] <file>
--version show fortran-src version
-v VERSION, -F VERSION --fortranVersion=VERSION Fortran version to use, format: Fortran[66/77/77Legacy/77Extended/90]
-a ACTION --action=ACTION choose the action, possible values: lex|parse
-t --typecheck parse and run typechecker
-R --rename parse and rename variables
-B --bblocks analyse basic blocks
-S --supergraph analyse super graph of basic blocks
-r --reprint Parse and output using pretty printer
--split-long when using pretty printer, split long lines via continuations
--dot output graphs in GraphViz DOT format
--dump-mod-file dump the information contained within mod files
-C[CPP-OPTS] --cpp[=CPP-OPTS] run the C Pre Processor on the Fortran files first
-I DIR --include-dir=DIR directory to search for precompiled 'mod files'
-c --summarise, --compile-mod build an .fsmod file from the input
-o FILE --output-file=FILE name of output file (e.g. name of generated fsmod file)
--make-mods, --make determine dependency order of modules and automatically build .fsmod files
--show-make-graph dump a graph showing the build structure of modules
--show-make-list dump a list of files in build dependency order (topological sort from the dependency graph)
--show-block-numbers[=LINE-NUM] Show the corresponding AST-block identifier number next to every line of code.
--show-flows-to=AST-BLOCK-ID dump a graph showing flows-to information from the given AST-block ID; prefix with 's' for supergraph
--show-flows-from=AST-BLOCK-ID dump a graph showing flows-from information from the given AST-block ID; prefix with 's' for supergraph
หากคุณไม่ผ่านธง --fortranVersion เวอร์ชันจะถูกเดาจากชื่อไฟล์:
*.f จะถูกแยกวิเคราะห์ด้วย FORTRAN 77 ไวยากรณ์*.f90 ถูกแยกวิเคราะห์ด้วยไวยากรณ์ Fortran 90 (และตามลำดับสำหรับ *.f2003 / *.f03 , *.f2008 / *.f08 )*.f คุณจะต้องใช้ไฟล์ส่วนหัวของไลบรารี GMP Library Plus: ในหลายแพลตฟอร์มนี้จะผ่านแพ็คเกจ libgmp-dev
การพึ่งพาห้องสมุด Haskell แสดงอยู่ใน package.yaml Fortran-SRC รองรับการสร้างด้วยสแต็คหรือ Cabal
Fortran-SRC รองรับ GHC 9.0 ถึง GHC 9.4 เราทดสอบ GHCs ขั้นต่ำและสูงสุดอย่างน้อยที่สุด เผยแพร่ก่อน/ใหม่กว่าที่อาจมีปัญหา เรายินดีต้อนรับการแก้ไขที่จะให้เรารองรับคอมไพเลอร์ที่หลากหลาย
คุณอาจต้องการ หน่วยความจำอย่างน้อย 3 ตัว เพื่อสร้าง Fortran-SRC
สำหรับการติดตั้ง GHC และเครื่องมือสร้างเราขอแนะนำ GHCUP อย่างยิ่ง
เมื่อใช้ แนะนำล่าสุด หมายถึงเครื่องมือเวอร์ชันล่าสุดที่แท็ก GHCUP ที่มี recommended บางครั้งสิ่งนี้ล้าหลังรุ่น latest -แท็ก ด้วยการติดตั้ง GHCUP ให้เรียกใช้ ghcup list เพื่อความเข้าใจที่ดีขึ้น
ต่อไปนี้เป็นคำแนะนำทั่วไปสำหรับระบบปฏิบัติการใด ๆ ที่ให้เครื่องมือที่เกี่ยวข้อง หากคุณมีปัญหาให้พิจารณาตรวจสอบไฟล์เวิร์กโฟลว์ CI ใน .github/workflows
เราสนับสนุนสแต็คเวอร์ชันล่าสุดที่แนะนำ (ณ ปี 2021-09-17, Stack 2.7) โดยทั่วไปสแต็ก 2.x ควรใช้งานได้ (สแต็ก 1.x อาจใช้งานได้กับการสลับเล็กน้อย - คุณอาจต้องดาวน์โหลดตัวแก้ไขด้วยตนเอง)
stack build
สำหรับเปลือกแบบโต้ตอบ:
stack build
stack ghci
โปรดทราบว่าการใช้งาน stack ghci ก่อนที่จะใช้งาน stack build จะไม่ทำงานอย่างถูกต้องเนื่องจาก stack ghci ไม่ใช้เครื่องมือสร้างเช่น Alex และ Happy ดังนั้นโมดูล Parser จะไม่ถูกสร้างขึ้นและคุณจะได้รับข้อผิดพลาดหลังจากสร้างโมดูลอื่น ๆ คุณสามารถโกงนิดหน่อยและเรียกใช้ stack build จนกว่าคุณจะเห็น Building library for [...] (= การประมวลผลล่วงหน้าเสร็จสิ้นแล้ว) จากนั้นกด <Ctrl-C> เพื่อหยุดการสร้างและเรียกใช้ stack ghci ตามปกติ
เราสนับสนุน Cabal เวอร์ชันล่าสุดที่แนะนำ (ณ ปี 2021-09-17, Cabal 3.4)
cabal build
การทดสอบหน่วยจะถูกเก็บไว้ใน test ดำเนินการด้วย stack test หรือ cabal test
Fortran-SRC มีให้บริการในการแฮ็กและสแต็กดังนั้นสำหรับโครงการ Cabal หรือสแต็กคุณควรเพิ่ม fortran-src ลงในการพึ่งพาโครงการของคุณ
หากคุณต้องการ Fortran-SRC เวอร์ชันเฉพาะในการตั้งค่าสแต็กคุณสามารถให้การอ้างอิงการแฮ็กใน stack.yaml โดยใช้ extra-deps เช่น:
resolver : ...
...
extra-deps :
- ...
- fortran-src-$VERSIONหากคุณมีการกำหนดค่า Cabal อย่างถูกต้องคุณควรติดตั้ง Fortran-SRC จาก Hackage:
cabal install fortran-src
เราให้บริการไบนารี prebuilt สำหรับบางแพลตฟอร์ม: ดูแท็บรีลีส
มิฉะนั้นคุณสามารถสร้างจากแหล่งที่มาและใช้คำสั่งความสะดวกเช่น cabal run , stack run ดู #Building สำหรับรายละเอียด
เรายินดีต้อนรับรายงานข้อผิดพลาดการแก้ไขและข้อเสนอคุณสมบัติ เพิ่มปัญหาหรือสร้างคำขอดึงบนที่เก็บ GitHub
คุณอาจหาผู้ดูแลในเครือข่าย Libera.Chat IRC เช็คอิน #FORTRAN-SRC และ #Camfort มิฉะนั้นคุณสามารถติดต่อกับหนึ่งในทีมในหน้าทีมแคมฟอร์ต - หรือสร้างปัญหาที่อธิบายปัญหาของคุณและเราจะได้ดู
ดู doc/maintainers.md ในแคมฟอร์ต/แคมฟอร์ต