在计算机编程领域,程序指令文本中的字符在『纸面』上所处的位置无关紧要 — 不像老式的穿孔卡片系统(punched card system)程序指令文本需要放置在指定列,这种编程语言就可算是自由形式语言(free-form language),这种语言里代码的换行也经常是没有特定意义的;空白符仅用于词法分析时的Token界定,而无其它含义。
大多数Free-form语言发源于ALGOL,包括C、Pascal和Perl。Lisp语言尽管不是发源自ALGOL,也是free-form的。Rexx差不多可算是free-form,尽管其某些情况下空白符被用作连接符。SQL虽然不算一门完整的编程语言,也是free-form的。
大多数Free-form语言也是结构化编程语言,有时也被认为是伴随着相应的free-form语法:早期的命令式( imperative )编程语言如Fortran 77 使用特定的列来代表行数,很多结构化语言并不使用或者不需使用。
结构化语言也有不属于free-form的,如ABC、Curry、Haskell、Python等。这些语言里有很多是采用了越位规则(off-side)的变体,倾向于用缩进而不是关键字或括号来对代码块分组。