Commits

Author Commit Message Labels Comments Date
Ivan Boldyrev
Update copyright string and license file. Keywords:
Ivan Boldyrev
Initial version of error handling. Keywords: error handling
Ivan Boldyrev
Named gensyms Keywords: Make GENSYM calls with explicit argument to make macroexpansion readable.
Ivan Boldyrev
Document use of many RULE-EXP in :MAYBE Keywords: doc, :maybe * doc/MACRO (RULE-EXP): Describe usage and semantics.
Ivan Boldyrev
Bugfix: undefined variable in expansion Keywords: bugfix, grammar * generator/fg-grammar-lr.lisp (expand-complex-form-lr): Bugfix: new rule was inserted in improper format.
Ivan Boldyrev
Documentation is updated Keywords: doc
Ivan Boldyrev
Changes from fucc--ll--0.2 are merged Keywords: merge * lispnik@gmail.com--2006-fucc/fucc--ll--0.2--patch-2 Split LL generator and LL parser. * lispnik@gmail.com--2006-fucc/fucc--ll--0.2--patch-3 Bugfix: remove stale debug print * lispnik@gmail.com--2006-fucc/fucc--ll--0.2--patch-4 Error checking: check if rule present in a cell * lispnik@gmail.com--2006-fucc/fucc--ll--0.2--patch-5 Bugfix: handle epsilon-rules * lispnik@gmail.com--2006-fucc/fucc-…
Ivan Boldyrev
WARN if delimiter has alphabetic character in its name. Keywords: grammar, syntax * generator/fg-grammar.lisp (split-rule-form): Check name and issue a warning.
Ivan Boldyrev
Syntax of grammar definitions is changed. Keywords: grammar, syntax, doc, examples * doc/MACRO: Documentation of new syntax. * examples/calculator.lisp (*calculator-parser*): Example is changed according to new syntax. * generator/fg-grammar.lisp (split-rule-form, etc): Grammar parsing is changed very much. * test/fg-grammar-test.lisp: Test of some functions from fg-grammar.lisp.
Ivan Boldyrev
Bugfix: make example/calculator to compile and run Keywords: bugfix, example, syntax * examples/calculator.lisp (*calculator-parser*): Add extra parenthes around nested :OR according to changes in fucc--main--0.2--patch-7.
Ivan Boldyrev
Bugfix: offset-by-one error in calculation of nonterminal-id. Keywords: bugfix, nterminal-id * generator/fg-decl.lisp (nterminal-id): Do not substract 1. * generator/fg-grammar.lisp (init-env): Returns next free ID, not last used one.
Ivan Boldyrev
Bugfix: update FIRST-NTERMINAL-ID Keywords: bug, macro, grammar * generator/fg-macro.lisp (fucc:defparser): Update grammar's FIRST-NTERMINAL-ID after grammar cleanup.
Ivan Boldyrev
Rename variable for consistence Keywords: rename * fg-grammar.lisp (parse-grammar): Change FIRST-NTERM-ID to FIRST-NTERMINAL-ID.
Ivan Boldyrev
Preliminary version of LL parser. Keywords: ll parser Minimally tested version of LL parser.
Ivan Boldyrev
Bugfix: by-1 offset in nterminal-id. Keywords: bugfix * generator/fg-decl.lisp (nterminal-id): Substract 1 from nterm-id.
Ivan Boldyrev
Bugfix: Use word 'terminal' and 'nterminal' Keywords: bugfix The bug was intruduced by fucc--main--0.2--patch-14. * fg-grammar.lisp (init-env, parse-grammar): Use :is-terminal and :first-nterminal-id respectively.
Ivan Boldyrev
Slightly optimize defparser macro Keywords: defparser * generator/fg-macro.lisp (fucc:defparser): Use first-nterminal-id instead of calculating list length.
Ivan Boldyrev
New function nterminal-id Keywords: new function, nterminal-id * generator/fg-decl.lisp (nterminal-id): New function to ease calculation of nonterminal ID. * fg-common.lisp (generate-tables): * fg-lalr.lisp (calculate-rm-info): Use new function.
Ivan Boldyrev
Use word 'terminal' for terminals and 'nterminal' for non-terminals Keywords: generator, rename
Ivan Boldyrev
Complex form expansion is documented in sources. Keywords: doc, generator * fg-grammar.lisp (expand-complex-form, expand-inlinable-form): Lot of comments are added.
Ivan Boldyrev
New condition type LR-PARSE-ERROR-CONDITION Keywords: package, condition, lr, error * parser/fucc-decl.lisp (parse-error-condition, lr-parse-error-condition): The LR-PARSE-ERROR-CONDITION with slot CONFIG is separated from PARSE-ERROR-CONDITION. * fucc-parser.lisp (parser-lr): New class is used. Omitted previously initargs :TOKEN-ID and :DATA are added. * ERROR-RECOVERY: Changes are documented. * fucc-package.lisp (#:fucc): Condition names are exported.
Ivan Boldyrev
Conditions, slots and macros inf fucc-decl.lisp are documented Keywords: doc
Ivan Boldyrev
Remove obsolete :pathname option from ASDF defintions Keywords: asdf :pathname is recomended to be not supplied by ASDF documentation. Instead :module option is used.
Ivan Boldyrev
Remove stale debug print Keywords: debug, clean * fg-grammar.lisp (expand-inlinable-form): Stale debug print is removed.
Ivan Boldyrev
New defparser keyword: :RESERVED-TERMINALS Keywords: reserved-terminals, defparser, reserved-terminals * fg-macro.lisp (fucc:defparser): New keyword is defined and handled. * MACRO: New keyword is documented.
Ivan Boldyrev
Rules expansion is two-phase. Keywords: newfeature, expand, grammar Inlinable (:or, or) forms are processed after uninlinable (other forms). It reduces risk of conflicts. :OR-form expansion also can expand alternatives with several tokens. It reestablishes pre-0.1 behavior. * generator/fg-grammar.lisp (expand-complex-form): Expand form. * fg-grammar.lisp (expand-inlinable-form): Inline form. :or-form hand handle alternatives with several tokens. * fg-grammar.…
Ivan Boldyrev
Merge bugfix patch from main--0.1 Keywords: bugfix, merge Patches applied: * lispnik@gmail.com--2006-fucc/fucc--main--0.1--versionfix-4 Do not call EXPAND-RULES on rules that generated expanded
Ivan Boldyrev
Export restarts Keywords: export, restarts * parser/fucc-package.lisp (#:fucc): Export restarts.
Ivan Boldyrev
AUTHOR file Keywords: docfix * AUTHOR File with author's name, contact address and project's website.
Ivan Boldyrev
New restart FUCC:USE-VALUE Keywords: restart, use-value, doc, package * doc/ERROR-RECOVERY (FUCC:USE-VALUE): Documentation on new restart. * fucc-parser.lisp (parser-lr--reduce!): New restart FUCC:USE-VALUE. * fucc-package.lisp (#:fucc): Export USE-VALUE.
  1. Prev
  2. Next