1.2.8 • Published 1 year ago

@juigorg/repellat-quos v1.2.8

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

PIL Compiler

Polynomial Identity Language (pil) compiler

Setup

$ npm install
$ npm run build

Usage

Command line

Generate json file from pil file:

$ node src/pil.js <input.pil> -o <output.pil.json>

Generate C++ code from pil file (.hpp files will be generated in the ./pols_generated folder):

$ node src/pil.js <input.pil> -c -n namespace

Javascript

Basic usage:

const pil = await compile(Fr, "pil/main.pil");

Advanced usage:

const pilConfig =
    { defines: {N: 2 ** 21},
      namespaces: ['Global', 'Main', 'Rom', 'Byte4', 'Arith'],
      verbose: true,
      color: true,
      disableUnusedError: true});

const pil = await compile(Fr, "pil/main.pil", null,  pilConfig);
  • define: object (key, value) with constants to define, if constant is defined in pil, use value specified on config and shown a warning during compilation.
  • namespaces: list of namespace used, if namespace not present in this list, it will be ignored, and warning was shown. If any namespace of list, not was found in pils and exception was produced.
  • verbose: source code ignored inside a namespace was shown (first 3 lines).
  • color: verbose source code was shown with other color.
  • disableUnusedError: ignore error when found an unused expression.
  • compileFromString: use to indicate to compiler that parameter fileName contains directly code of pil, to avoid to use a temporal directory on dynamic pil generation.
  • includePaths: an array of paths used to find includes.
  • includePathFirst: a boolean value (true), to force to find first on include path and after on current pil directory. Default: false

Command Line

In command line compilation:

  • config with json file and using option -P or --config.
  • define include paths with option -I or --include, and paths separated by comma.
  • define includePathFirst with option -f.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

promisees2015formatWebSocketponyfill.gitignoreterminalfilteroffsetobjectprototypeMapspawntranspileObject.valuesfind-up6to5codesArray.prototype.flatpinophonepicomatchprivatemake dirObservablees-shimsECMAScript 2017emrassertsflattenacornexecutetypeerrorefficientignorefindupmanagerjQueryarraysdynamodbspeedselfdataViewjson-schema-validatorlintvalidateutilitiescommand-linesafebindECMAScript 2018Streamdirectoryvpcroutinghtmlwaffile systemstringcommanderremovecensoragentES2017ECMAScript 2022fsfullwidthgitignoremomentdiffimportimmerbrowserslistglobfigletnegativechecktransformasterisksfunction.lengthtoSorteds3makearraybufferstructuredClonetestingnodeinternalmkdirpBigUint64ArrayArray.prototype.findLastsymbolsshebangqueryreact animationreadablestreaml10nurlfull-widthjavascriptletes5guidinferencewaittypedarrayscharactersspringpackagesdatanegative zerobyteLengthES2023sqstoobjectrobustistanbulloadingnamespolyfillapi_.extendtddclitstslibfolderdependency managerglobal this valueuninstallgestureseffect-tstrimRightextraramdacirculartimeenvironmentschromerapidredacthardlinksenvironmentmkdirsfixed-widthcolourpopmotiondayjsInt16Arraypnpm9react-hooksECMAScript 2020es6typesafecallbindansifastcopydebugeast-asian-widthhigher-ordernodejstouchbundlingPushspinnerssortjshintObject.fromEntriesminimalkarmasubprocess$.extendglacierexpressionyamlframerWeakMapArray.prototype.includesapolloelasticacheutilityes7vartraversecloudfrontWeakSetcallbackregular expressionreactautoscalingtrimStartjoifunctionalReactiveXPromisegetterpackage.jsonrssinputvestdomString.prototype.matchAllhas-ownzxJSON-Schemazeroform-validationperformantgetmoduleArrayBuffer#sliceworkspace:*httpconfigurablefindLastkoreanStreamsawses-abstractlockfilelibphonenumbermulti-packageeslint-plugindeleteserializeestreehasOwnPropertyflagsbuffersasyncsnsworkflowassertionlengthformsArray.prototype.flattenconcatposecloudsearchintermroutercall-bindasciifast-copyindicatorupsharedsameValueZeroclonetapejskeysUint8ClampedArraydeep-cloneec2call-boundYAMLproprestFloat64Arrayarktypegraphqlfastcloneidfindclassnamesharmonystringifyfast-deep-cloneecmascriptownmobilejson-schema-validationSymbol.toStringTagparsermergeeventDispatcherpostcss-pluginECMAScript 3atomRFC-6455symbolieES2019optimistrecursivenopedroprequirefunctionajvsomefindLastIndexexpresses-shim APIrulesbabelendpointamazonES5nativestringifiercompilerclass-validatorzodconfigsharedarraybufferUint16Arraypostcssuser-streamsgetintrinsicregular expressionsclassesReactiveExtensionseslintplugintc39dateisConcatSpreadablerangeerrorresolveuuidsearchwarning256telephonelookBigInt64ArraytakespecesArray.prototype.containsruntimechromiumESnexttesterpushshamdeep-copyvariablesrmdirinstrumentationautoprefixerArrayflatMaplistenersfnmatchjsdiffsidethreeStyleSheetmkdirutilsqsdataviewObjectESsetterreal-timeexecdom-testing-libraryio-tsbytefantasy-landes2016utilinspectsetImmediateweaksetUint32ArrayfullxmlcollectionbeanstalkmapreducecharacterString.prototype.trimprotobufassignECMAScript 6everydeepcloneObject.assignprefixinvariantquotebinariesidleredirectprocesscloudtrailglobalstypecompareURLcss-in-jssimpledbregexconsumeconstcoverageprettynamecjkgroupBycssextendpositivetypeofrequestInt8ArrayRegExp.prototype.flagsmrucreateentrieseventses2018includesES6flagbinarylogrmfpquerystringbusyclientbrowserliststyleguidepatchappES2018serializationArray.prototype.flatMapequalityUnderscoreES2020descriptordragdefinePropertyECMAScript 2023styled-componentsebsvalidatorRegExp#flagshooksinternal slotdescriptionrfc4122eslintconsoleargumentbufferframeworktranspilerglobalThisimportexportObject.isbanner[[Prototype]]Float32Arrayprotocore-jsutil.inspectjestchannelbundlergdprcomputed-typeselectronArrayBuffer.prototype.slice.envfromwalkespreewritableparentTypedArrayloadbalancingyupairbnbjsonschemaCSSmatchArray.prototype.filterreducertacitcurriedArrayBufferpropertiesjasmineIteratormatchAllenderlogginginstallerlook-upjsonloggerfetchgenericses2017cryptoformattingformstarterkeyObject.keyscommandcontainsworkerassertES3Setcallboundreact-testing-libraryexecfileECMAScript 7whatwgonceclassnamedeterministicarrayvaluemanipulationlanguageiterateES2022private dataspinnertransportiamerrorURLSearchParamsECMAScript 2021concatMapnpmignoreforEachECMAScript 2015setPrototypeOfsetpreprocessorprogressenvcolumn3dvisualfastavareadsuperagentvaluessyntaxfastifyintrinsicwalkingshellTypeScripttrimemojiHyBiES8slicefileroute53colorstrimEndJSONboundvalidwidthdeepmetadatastreamscloudwatchanimationprotocol-buffersprunestreamkinesischildreduceargvcoerciblejapanesereversedmatchesreuseES7optimizerhashdirstyletoStringTagbinnumberhelperiteratortyped arrayhttpsshrinkwrapglobalrm -frlruReflect.getPrototypeOfECMAScript 2016System.globalcolorSymbolpackageshimeslintconfigtostringtagregularFunction.prototype.namebrowseroutputwebcurlweakmapsestoReversedinstallObject.definePropertypathimmutablepluginpyyamlpropertyvalidationawesomesaucetextperformancelinkparsehasjson-schemaartpurefast-deep-copyECMAScript 2019accessibilityregular-expressionparentslaststablebddvarscollection.es6rdsRxrgbchaiArray.prototype.findLastIndextypesschemeescapetypanionfast-clonedescriptors@@toStringTagmap-0reversemochamonorepoRxJSslotisargseventEmitterscheme-validationreact poseasttrimLeftUint8ArrayECMAScript 5sinatrafeedes8identifiersproxysource mapa11ystylingschemawgetInt32ArraygroupfpsqueueMicrotaskhasOwncacheenumerablemodulesrm -rffunctionsjsdomoptionregexpttyjsxtoolkitcalldeepcopycopyviewES2016windowwritesyntaxerrorsymlinkstypedarrayi18nsettingsMicrosoftroutehookform__proto__xhrreact-hook-formomitajaxcode pointsObservablesmovereadableemitObject.getPrototypeOfES2021ES2015cloudformationelbhelpersgetoptcoretypescriptwhichglobal objectbyteOffsetcolumnsdefinestoragegatewayCSSStyleDeclarationforkdotenvgetOwnPropertyDescriptorstylesgetPrototypeOfaccessorbabel-core0AsyncIteratorpoint-freeTypeBoxreduxtoolstestredux-toolkitobj
1.2.8

1 year ago

1.1.8

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago