Lines Matching +refs:compile +refs:syntax +refs:table

124 (compile 'indent-text)
173 (compile 'offset-indentation)
179 (defun default-indent (syntax syntable)
196 (hash-table-p (syntax-options syntax))
197 (gethash :disable-indent (syntax-options syntax))
230 (compile 'default-indent)
290 begin ;; begin a new table
291 switch ;; switch to another table
292 ;; begin and switch fields are used like the ones for the syntax highlight
294 label ;; filed at compile time
299 label ;; a keyword, name of the table
352 (setq ,variable (compile-indent-table ,label ,@lists))
380 ;; Create an indentation table. Basically a list of indentation tokens.
395 (error "INDTABLE: invalid indent table argument ~A" item)
399 ;; return indent table structure
415 (error "INDAUGMENT: bad indent table label ~A" keyword)
465 (error "INDREDUCE: syntax error parsing ~A" item)
512 ;; Helper function for compile-indent-table. Returns a list of all
513 ;; tables and tokens for a given table, including tokens and tables
516 (defun list-indtable-elements (table &aux result sub-result)
517 (setq result (cons (indtable-tokens table) (indtable-tables table)))
518 (dolist (child (indtable-tables table))
529 ;; First pass adding augumented tokens to a table, done in two passes
532 (defun compile-indent-augment-list (table table-list &aux labels augment tokens)
535 (dolist (augment (indtable-augments table))
542 (remove (indtable-label table) (remove-duplicates labels :from-end t))
548 (setq augment (car (member label table-list :key #'indtable-label)))
551 (indtable-label table)
560 ;; to the indent table in the second pass.
561 (setf (indtable-augments table) tokens)
563 ;; Recurse on every child table.
564 (dolist (child (indtable-tables table))
565 (compile-indent-augment-list child table-list)
571 ;; Last pass adding augmented tokens to a table.
573 (defun link-indent-augment-list (table)
575 (indtable-tokens table)
577 (nconc (indtable-tokens table) (indtable-augments table))
584 (indtable-augments table)
588 (dolist (child (indtable-tables table))
596 (defun compile-indent-reduces (reduces
641 ;; possible, should generate a hashtable, or a table
657 (defun compile-indent-resolves (resolves &aux match resolve resolve-code)
693 ;; Create an indentation table
695 (defun compile-indent-table (name &rest lists
735 (compile-indent-augment-list main tables)
738 ;; Change switch and begin fields to point to the indent table
780 (compile-indent-reduces reduces)
791 :resolve-code (compile-indent-resolves resolves)
941 (compile 'indent-search-rule)
949 ;; Current indentation table
950 (ind-table (car (indent-tables ,ind-definition)))
955 ;; Token list for the table
956 (ind-tokens (indtable-tokens ind-table))
1221 ;; Check if needs to switch to another table
1223 ;; Need to switch to a previous table
1228 ind-table (pop ind-stack)
1232 ;; Search table in the stack
1237 (setq ind-table (pop ind-stack))
1245 (and (null ind-table)
1247 ind-table
1253 ;; Check if needs to start a new table
1258 ind-stack (cons ind-table ind-stack)
1259 ind-table ind-change
1263 ;; If current "indent pattern table" changed
1266 ind-tokens (indtable-tokens ind-table)