- Allow ACF files to contain sections that are unsupported - introduce a pragma disable-strict-parsing to disable strict parsing and allow files to be accepted Add tests for future proof parser functionaluty Expanded tests for Access Security configurations to validate parsing behaviors for unsupported elements. Added detailed cases covering invalid formats, unsupported modifications, and acceptable configurations while maintaining future-proofing and backward compatibility assurances. Refactor parser to handle generic items and floating-point tokens Replaced "unsupported elements" with a more flexible "generic items" mechanism to enhance parser extensibility. Added support for floating-point numbers in parsing rules. Updated tests and rules to reflect these changes, ensuring better handling of nested and unknown configurations. Add warnings for unsupported ACF elements and update tests Introduced `yywarn` to log warnings for unsupported ACF elements, rule permissions, and conditions in `asLib.y`. Updated test configuration to replace generic placeholders with more descriptive names. Adjusted test cases and reduced the test plan count to reflect the changes. Remove unused strictParsing logic and improve error handling. Removed strictParsing variable and related code as it was no longer in use. Enhanced error messaging and parsing logic for handling unsupported elements. Updated test cases for better clarity and expanded coverage of edge cases. Enhance ASLib parsing with Int64/Float64 support. Updated ASLib to utilize 64-bit integers and floats for improved parsing precision. Replaced legacy parsing methods with epics-friendly functions, improved error handling, and adjusted tests and grammar accordingly. Refactor AS parser to separate non-rule keywords Introduced a new `non_rule_keyword` type and moved `tokenASG` and `tokenRULE` under it for better logical grouping. This improves parser clarity and maintains a clean separation of keyword types. Add rule-specific parsing for generic block elements Introduce new rules for parsing rule-specific generic block elements and their names. This enhances the grammar to handle additional cases while maintaining memory management and error handling. Adjust references to use the new rule where applicable. Refactor grammar rules in asLib.y to remove remaining shift/reduce conflict Reorganize and refine grammar rules for handling generic elements, blocks, and lists. Simplifies the structure while introducing clearer distinctions between different constructs. This enhances maintainability and removes ambiguities in parsing.
EPICS Base
EPICS (Experimental Physics and Industrial Control System) is a set of software tools and applications which provide a software infrastructure for use in building distributed control systems to operate devices such as Particle Accelerators, Large Experiments and major Telescopes. EPICS Base is the central core of the control system toolkit. More details can be found at the About page of the official website
Links
Documentation
Community Communication
Quick Install
Download a release from the Downloads page and unpack it. Inside the unpacked folder run:
make
For more information on how to install on your system see the Installation page of the documentation.
Quick run a softIOC
After building, you can run an example soft-IOC (Input/Output Controller) which runs a Channel Access server.
./bin/*/softIoc -x first
Run the dbl command to list the records it provides:
epics> dbl
first:BaseVersion
first:exit
epics>
License
EPICS Base is distributed subject to a Software License Agreement found in the file LICENSE that is included with this distribution.