ASDLGEN(1)
π asdlgen(1) β the compiler for the Abstract Syntax Description Language (ASDL), bestie edition π
okay so literally welcome to asdlgen(1), the man page you're gonna actually read because it's fun now. it's a compiler for ASDL, the Abstract Syntax Description Language. yes. that one. π¦
β¨ NAME β¨
asdlgen β a compiler for the Abstract Syntax Description Language (ASDL). periodt.
πΈ SYNOPSIS πΈ
asdlgen COMMAND [ OPTIONS ] FILE ...
where COMMAND is one of these iconic little numbers:
helpβ prints info about the available options to the standard output. your "what does this even do" bestie π«Άversionβ prints the version ofasdlgento the standard output. iykyk.c++orcxxβ generate C++ code. two names, same slay β¨smlβ generate SML code.checkβ check the correctness of the input specifications, but do not generate output. it's giving vibe check, honestly π
π DESCRIPTION π
So basically asdlgen reads the files you specify β those should contain ASDL module and view declarations β and produces pickling and unpickling code. that's the whole gig. no cap. π₯
π OPTIONS π
π COMMON OPTIONS
-nβ do not write any output files. instead, write the list of files that would have been written to the standard output. it's a little window-shopping moment π-d DIR,--output-directory=DIRβ specify the output directory to place the generated files. by default the output goes in the same directory as the input file from which it was produced. cozy, right? π--gen=NAMESβ specifies the components to generate, whereNAMESis a comma-separated list of names taken from the following:typesβ generate the type definitions from the ASDL specification. the main character πmemoryβ generate the memory pickler.fileβ generate the file pickler.sexpβ generate the S-Expression pickler (SML only). SML girlies only, sorry π§
π¦ C++ OPTIONS
--base-include=FILEβ specify the name of the C++ header file that defines the primitive ASDL types and functions. the default value isasdl/asdl.hxx. yes, that's the default, don't come for me π
β SML OPTIONS
--cm=FILEβ generate a CM file for the pickler; this will define a CM library. heads up though (and this is lowkey important): note that if the ASDL specification includes primitive modules, these will be included in the list of exported structures, but the supporting source files will have to be added to the CM file by hand. by hand, bestie. no automation. π--mlb=FILEβ generate an MLB file for the pickler. and same warning energy: note that if the ASDL specification includes primitive modules, these will be included in the list of exported structures, but the supporting source files will have to be added to the MLB file by hand. again. by hand. π«
πΈ AUTHOR πΈ
the original version of asdlgen was written by Dan Wang as part of the National Compiler Infrastructure Project at Princeton University. this version of the tool was implemented by John Reppy. legends, both of them π«Άβ¨
π SEE-ALSO π
ASDL Reference Manual (included in the SML/NJ documentation). go read it, it's the source material fr fr π
π COPYING π
Copyright Β© 2020 The Fellowship of SML/NJ
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
no warranty, babes. NO warranty. not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. dramatic but true π
and that's the whole page! π β¨ this beauty is from SML/NJ, dated 2025-11-04 β take care of her, she's iconic πππ
π¦ where this page comes from
- arch rolling: smlnj 110.99.9-1 Β· SMLNJ
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms