⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上.
💻
字号:
directory: tinyos-1.x/tools/scripts/codeGenerationauthor: kamin whitehousedate: 9/23/05This directory holds the generateNescDecls.pl file, which generatesthe nescDecls.xml file.  This file holds all nesc declarations such astypes, enums, rpc functions, modules, module variables, etc. that aset of pc-side tools might want to use (e.g. python).  This directory also holds scripts that automatically generate files from @tags in your code:generateRegistry.pl:   tags:    @registryfiles:   RegistryC.nc, Registry.hgenerateHood.pl:tags:    @reflection, @scribble, @hoodfiles:   XxxHoodC.nc, Hood.hgenerateRpc.pl:        tags:    @rpcfiles:   RpcC.nc, RpcM.ncThese scripts are called by placing this directory in theTOSMAKE_PATH, and indicating that the makefile should use theregistry.extra, hood.extra, and rpc.extra targets when the user calls"make pc registry", "make pc hood", or "make pc rpc".  hood.extraautomatically includes registry.extra because hood relies on registry.The files FindInclude.pm, NescProgramFiles.pm, and SlurpFile.pm arederived from the contrib/SystemC/scripts.  These are only necessarybecause nesC XML generation is currently underdeveloped: 1. it does not give any XML output when the missing yetto-be-generated file causes compiler errors, even though only asuperficial parse should be required, not a full compilation. (necessary for registry and hood).2. it does not provide any info about tagged functions, onlyinterfaces (this is necessary for rpc).3. it does not provide any info about the names of functionparameters, only parameter types (this is necessary for rpc).4. it does not support abstract interfaces (necessary for rpc)When nesC XML generation is completed, the AtTags.pm module can beremoved and the AtTagsFromXML.pm module can be used instead, and the 3files mentioned above can be removed permanently.The NescParser.pm file is currently based on perl scripts actuallyparsing the nesc files, but should later be adapted to the xml files(ie. it will not be removed like the other files above)KNOWN LIMITATIONS:1. The parser that I wrote may not support full nesC syntax.  Forexample, if you declare @tags with anything other than the expectedsyntax, eg.uses interface Interface<type> as MyInterface @registry("AttributeName");or uses{ interface Interface<type> as MyInterface @registry("AttributeName");...}the parser may not detect it.  This will be fixed once the codegeneration is based on nesC-generated XML files, because theacceptable syntax will be the same by definition. Until then, pleaselimit your syntax to that described above.2.  The parser does not search the complete search path for programfiles.  The directories it searches must be passed as -I directivesfrom the *.extra file.  Current default is the compiler PFLAGSvariable, plus a few standard directories such as tos/types,tos/interfaces, tos/system, and pwd.  All directories that aresearched by the temporary perl parser are printed to the screen duringcompilation.  3.  There is a maximum number of "required" attributes that a hood candeclare, because the @hood struct must be statically defined forparsing.  That number is currently 8, and can be changed by going intothe Hood.h file (if AtTagsFromXML.pm is used) or the generateHood.plfile (if AtTags.pm is used).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -